- 가장 널리 사용되는 상용 관계 데이터베이스 언어
데이터 정의 언어 (DDL - Data Definition Language)
- 데이터 조작어로 CREATE, DROP, ALTER, RENAME, TRUNCATE 가 여기에 해당한다.
CREATE 문
- 데이터베이스 생성 :
1
CREATE DATABASE [데이터베이스 이름];
- 테이블 생성 :
1
2
3
4
5
CREATE TABLE [테이블명] (
[컬럼명] [데이터타입],
[컬럼명] [데이터타입],
...
);
DROP 문
- 데이터베이스 삭제:
1
DROP DATABASE [데이터베이스 이름];
- 테이블 삭제:
1
DROP TABLE [테이블명];
ALTER 문
- 테이블에 새로운 열 추가:
1
2
ALTER TABLE [테이블명]
ADD [컬럼명] [데이터 타입];
- 테이블에서 기존 열 수정:
1
2
ALTER TABLE [테이블명]
ALTER COLUMN [컬럼명] [데이터 타입];
- 테이블에서 열 이름 변경:
1
2
ALTER TABLE [테이블명]
RENAME COLUMN [지난_컬럼명] TO [새로운_컬럼명];
- 테이블 이름 변경:
1
2
ALTER TABLE [테이블명]
RENAME TO [새로운_테이블명];
- 테이블에서 기존 열 삭제:
1
2
ALTER TABLE [테이블명]
DROP COLUMN [컬럼명];
- 테이블에 기본키 추가:
1
2
ALTER TABLE [테이블명]
ADD CONSTRAINT constraint_name PRIMARY KEY ([컬럼명 1], [컬럼명 2], ...);
- 테이블에 외래키 추가:
1
2
3
ALTER TABLE [테이블명]
ADD CONSTRAINT constraint_name FOREIGN KEY ([컬럼명 1], [컬럼명 2], ...)
REFERENCES [다른_테이블명] ([컬럼명 1], [컬럼명 2], ...);
- 인덱스 추가:
1
2
ALTER TABLE [테이블명]
ADD INDEX [인덱스명] ([컬럼명 1], [컬럼명 2], ...);
- 테이블에서 인덱스 삭제:
1
2
ALTER TABLE [테이블명]
DROP INDEX [인덱스명];
- TRUNCATE 문
데이터 조작 언어 (DML - Data Manipulation Language)
SELECT 문
- 모든 열을 선택:
1 2
SELECT * FROM [테이블명];
- 특정 열을 선택:
1 2
SELECT [컬럼1], [컬럼2], ... FROM [테이블명];
- 중복 제거:
1 2
SELECT DISTINCT [컬럼1], [컬럼2], ... FROM [테이블명];
- ORDER BY 절 사용:
1 2 3
SELECT [컬럼1], [컬럼2], ... FROM [테이블명] ORDER BY [컬럼명] ASC|DESC;
- GROUP BY 절 사용:
1 2 3
SELECT [컬럼1], SUM([컬럼2]) FROM [테이블명] GROUP BY [컬럼1];
FROM 문
- 단일 테이블 선택
1
SELECT * FROM [테이블명];
- 다중 테이블 선택 (내부 조인) : 공통 열을 기준으로 두 테이블을 합침
1
SELECT * FROM [테이블명] INNER JOIN [테이블명2] ON [테이블명1].열 = [테이블명2].열;
- 다중 테이블 선택 (외부 조인) : 조인 대상 테이블 중 하나의 테이블의 모든 행을 선택하면서 다른 테이블에서 일치하는 행이 없으면 NULL로 채움
1
SELECT * FROM [테이블명] LEFT/RIGHT OUTER JOIN [테이블명2] ON [테이블명1].열 = [테이블명2].열;
- 서브쿼리 사용
1
SELECT * FROM (SELECT [컬럼1], [컬럼2] FROM [테이블명]) AS temp;
WHERE
- 특정 값 비교
1 2 3 4 5 6 7
SELECT * FROM [테이블명] WHERE [컬럼] = [조건값]; SELECT * FROM [테이블명] WHERE [컬럼] <> [조건값]; SELECT * FROM [테이블명] WHERE [컬럼] > [조건값]; SELECT * FROM [테이블명] WHERE [컬럼] < [조건값]; SELECT * FROM [테이블명] WHERE [컬럼] BETWEEN [조건값1] AND [조건값2]; SELECT * FROM [테이블명] WHERE [컬럼] IN ([조건값1], [조건값2], ...); SELECT * FROM [테이블명] WHERE [컬럼] LIKE [조건값];