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 | 마 |
댓글남기기