1. MySQL 의 구조
표들을 그룹핑 → 데이터베이스(스키마)
스키마들을 저장 → 데이터베이스 서버
- MySQL을 설치한 것은 데이터베이스 서버를 설치한 것
2. MySQL 서버 접속
1
mysql -uroot -p
이후 설정한 비밀번호를 입력하면 mysql 서버에 접속 가능합니다.
3. CRUD
1. DATABASE 생성
아래 명령어를 통해 dbname이라는 이름의 데이터베이스를 생성할 수 있다.
1
CREATE DATABASE dbname;
2. DATABASE 삭제
아래 명령어를 통해 dbname이라는 이름의 데이터베이스를 삭제할 수 있다.
1
DROP DATABASE dbname;
3. DATABASE 선택
데이터베이스를 사용하기 위해서는 해당 데이터베이스를 선택해야 한다.
1
USE dbname;
4. Table 생성
1
2
3
4
5
CREATE TABLE topic(
id INT(11) NOT NULL AUTO_INCREMENT,
title VARCHAR(100) NOT NULL,
description TEXT,
);
칼럼 이름이 처음으로 오고, 그 뒤에 데이터 타입이 온다.
NOT NULL 과 같은 옵션을 지정할 수 있다.
5. INSERT
다음과 같이 행을 삽입할 수 있다.
1
INSERT INTO topic (title, description) VALUES('MySQL', 'My SQL is...');
6. SELECT
table 전체를 읽기
1
SELECT * FROM topic;
특정 칼럼만 불러오기
1
SELECT id,title FROM topic;
조건 지정해서 불러오기 (WHERE)
1
SELECT * FROM topic WHERE author='egoing';
id를 기준으로 내림차순 불러오기 (ORDER BY)
1
SELECT * FROM topic WHERE author='egoing' ORDER BY id DESC;
불러오는 table의 행 개수 지정하기 (LIMIT)
1
SELECT * FROM topic LIMIT 2;
7. UPDATE
id가 2인 행의 description과 title 수정하기
1
UPDATE topic SET description='Oracle is...', title='Oracle' WHERE id=2;
8. DELETE
id=5인 행 삭제하기
1
DELETE FROM topic WHERE id=5;
4. JOIN
topic 테이블과 author 테이블을 JOIN 해보자.
topic
author
위의 topic 테이블과 author 테이블을 JOIN 하기
1
SELECT * FROM topic LEFT JOIN author ON topic.author_id=author.id;
원하는 칼럼만 보이게 JOIN 하기
1
SELECT topic.id,title,description,created,name,profile FROM topic LEFT JOIN author ON topic.author_id=author.id;
이때 id는 topic과 author 테이블에 둘다 존재하기 때문에 topic.id와 같이 어느 테이블의 칼럼인지 특정해줘야 한다.