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 |