MySQL[DDL, DML, JOIN]
DDL
$ mysql -u root -p //mysql 접속
$ CREATE DATABASE 데이터베이스이름; //원하는 데이터베이스 만들고
$ SHOW DATABASES; //현재 Mysql에 저장되어 있는 데이터베이스를 보는 명령어
$ USE 데이터베이스이름; //사용할 데이터베이스를 선택하고
테이블 생성
CREATE TABLE 테이블이름 (id int not null auto_increment, name varchar(200) not null, primary key (id)); //테이블 생성
DESC 테이블이름 //description을 축약해 놓은 명령어로 테이블 정보를 보여준다.
DML
INSERT INTO 테이블이름 (속성이름) VALUES ('값'); //테이블에 데이터 삽입
SELECT 원하는 속성이름 FROM 테이블이름 ; //테이블 데이터 조회
UPDATE 테이블이름 SET name="Pink Floyd" (수정할속성 = 수정할값) WHERE id = 2 //테이블 데이터 업데이트하기
DELETE FROM 테이블이름 WHERE name="새" (삭제할속성= 삭제할값)
JOIN

A 테이블
| ID | A_NAME |
|---|---|
| 1 | A |
| 2 | B |
| 3 | C |
B 테이블
| ID | B_NAME |
|---|---|
| 1 | 가 |
| 2 | 나 |
| 4 | 라 |
| 5 | 마 |
- INNER JOIN : 내부집합(교집합)

SELECT A.ID, A.A_NAME, B.B_NAME
FROM A INNER JOIN B
ON A.ID = B.ID;
| ID | A_Name | B_Name |
|---|---|---|
| 1 | A | 가 |
| 2 | B | 나 |
- LEFT/RIGHT JOIN (부분집합)

SELECT A.ID, A.A_NAME, B.B_NAME
FROM A LEFT OUTER JOIN B
ON A.ID = B.ID;
| ID | A_Name | B_Name |
|---|---|---|
| 1 | A | 가 |
| 2 | B | 나 |
| 3 | C | NULL |

SELECT A.ID, A.A_NAME, B.B_NAME
FROM A RIGHT OUTER JOIN B
ON A.ID = B.ID;
| ID | A_Name | B_Name |
|---|---|---|
| 1 | A | 가 |
| 2 | B | 나 |
| 4 | NULL | 라 |
| 5 | NULL | 마 |
- OUTER JOIN (외부조인 -> 합집합)
MYSQL은 없어서 LEFT조인 RIGHT조인을 한다.

SELECT A.ID, A.A_NAME, B.B_NAME
FROM A FULL OUTER JOIN B
ON A.ID = B.ID;
| ID | A_Name | B_Name |
|---|---|---|
| 1 | A | 가 |
| 2 | B | 나 |
| 3 | C | NULL |
| 4 | NULL | 라 |
| 5 | NULL | 마 |

SELECT A.ID, A.A_NAME, B.B_NAME
FROM A FULL OUTER JOIN B
ON A.ID = B.ID;
WHERE A.ID IS NULL OR B.ID IS NULL
| ID | A_Name | B_Name |
|---|---|---|
| 3 | C | NULL |
| 4 | NULL | 라 |
| 5 | NULL | 마 |
댓글남기기