Home SQL 문 DDL , DML 알아보기
Post
Cancel

SQL 문 DDL , DML 알아보기

  • 가장 널리 사용되는 상용 관계 데이터베이스 언어

데이터 정의 언어 (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 [조건값];
    
This post is licensed under CC BY 4.0 by the author.