mysql 데이터베이스와 테이블 만들기

 

라우팅과 뷰라는 구성 요소를 손에 쥐었다. 

이 두가지만으로도 웹 서비스를 만들 수 있다.

데이터베이스 하나만 더하면 완벽히 동작하는 동적 웹페이지를 만드는데 부족함이 없다.

 

데이터베이스와 테이블을 만들자

CREATE DATABASE db1;
CREATE TABLE posts(
	id INT(11) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(255),
    body TEXT
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;


REPL(Read-Evaluate-Print-Loop)

  :콘솔 환경에서 명령을 내리고 실행 결과를 확인하기 위해 사용하는 도구다.

 

팅커(REPL) 콘솔

터미널에서 php artisan tinker 입력하면 팅커콘솔이 작동한다.

>>>

데이터를 조회하기 위해 SELECT 명령어를 입력해보면

에러를 출력한다.

그 이유는 데이터베이스에 접속하기 위한 설정을 하지 않았기 때문이다.(.env)

.env파일을 열어서 데이터베이스 접속 설정을 한다.


SELECT

팅커콘솔을 재시작하고 SELECT명령어를 입력해보자

DB::select('SELECT * FROM posts');

[]의 의미는 쿼리결과가 없다는 의미이다. 아무 데이터가 없기 때문이다.

select 결과를 $posts변수에 담아보자

 $posts = DB::select('SELECT * FROM posts');
 $posts[1]->body;

컬렉션이 아니라 단일 데이터 인스턴스를 얻으려면 selectOne(string $query, array $bindings)메서드를 이용한다.

 $post = DB::selectOne('SELECT * FROM posts WHERE id = ?',[1]);

INSERT

 DB::insert('INSERT INTO posts(title, body) VALUES(?,?)',['Hello Database', 'Greetings from tinker']);

데이터가 잘 입력되었다.

 


 

'라라벨' 카테고리의 다른 글

엘로퀀트ORM  (0) 2019.04.01
쿼리빌더  (0) 2019.03.31
APP_KEY 새로 만들어주기  (0) 2019.03.28
dotenv파일 config/database.php 파일 관계  (0) 2019.03.28
라라벨5.3버전 프로젝트 구조  (0) 2019.03.28

+ Recent posts