Studying data
[SQL][DDL] CREATE 본문
CREATE
- DDL 명령어 중 하나
- Database, Schema, Table 생성
Database / Schema 생성
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
{
CHARACTER SET [=] charset_name
| COLLATE [=] collation_name
| ENCRYPTION [=] {'Y' | 'N'}
}
- if not exists : DB 생성시 존재 여부에 따라 쿼리를 진행
- character set : 문자의 코드 집합 (ex. cp949, euc-kr, utf-8 ... )
예)
mysql> create database lecture;
mysql> USE lecture; -- 현재 lecture라는 schema에 있게됨
Table 생성
CREATE TABLE 테이블이름
({ 속성이름 데이터타입 -- 열의 이름과 속성
[NOT NULL | UNIQUE | DEFAULT 기본값 | CHECK 체크조건] -- NULL값 또는 중복값 허용여부, 기본값설정, 데이터 점검
}
[PRIMARY KEY 속성이름(들)]
{[FOREIGN KEY 속성이름 REFERENCES 테이블이름(속성이름)]
[ON DELETE [CASCADE | SET NULL]
}
)
- 테이블 구성, 속성과 속성에 관한 제약 정의, 기본키 및 외래키를 정의하는 명령
- PRIMARY KEY : 기본키를 정할 때 사용
- FOREIGN KEY : 외래키를 정할 때 사용
- ON UPDATE와 ON DELETE : 외래키 속성의 수정과 튜플 삭제 시 동작을 나타냄
예) 아래 속성을 가진 BookLibrary 테이블을 생성하시오.
정수형은 INTEGER 사용, 문자형은 가변형 문자타입인 VARCHAR을 사용
--> bookid(도서번호) - INTEGER
--> bookname(도서이름) - VARCHAR(20)
--> publisher(출판사) - VARCHAR(20)
--> price(가격) - INTEGER
CREATE TABLE BookLibrary (
bookid INTEGER,
bookname VARCHAR(20),
publisher VARCHAR(20),
price INTEGER
);
'SQL' 카테고리의 다른 글
[HackerRank] Advanced Select > Binary Tree Nodes (0) | 2022.12.28 |
---|---|
[HackerRank] Advanced Select > Occupations (0) | 2022.12.28 |
[HackerRank] Basic Select > Weather Observation Station 11 (0) | 2022.12.27 |
[HackerRank] Basic Select > Weather Observation Station 6, 7 (0) | 2022.12.26 |
[SQL] 데이터의 종류 (0) | 2022.03.14 |
Comments