Application/Database
[MySQL] 테이블 생성 (CREATE TABLE)과 옵션
Kangjieun11
2021. 6. 4. 22:57
728x90
CREATE문
PRIMARY KEY : 기본키 지정
FOREIGN KEY : 외래키 지정
ON UPDATE / ON DELETE : 외래키 속성의 수정, 튜플삭제시의 동작
CREATE TABLE 테이블이름
( { 속성이름 데이터타입
[NOT NULL | UNIQUE | DEFAULT 기본값 | CHECK 체크조건]
}
[PRIMARY KEY 속성이름(들)]
{[FOREIGN KEY 속성이름 REFERENCES 테이블이름(속성이름)]
[ON DELETE [CASCADE┃SET NULL]
}
)
실습을 하면서 개념을 이해해보자
테이블 생성을 위한 DB 생성
CREATE DATABASE tableDB; |
테이블 생성
USE tableDB; DROP TABLE IF EXISTS userTBL; CREATE TABLE userTBL--회원테이블 ( userID CHAR(8), --사용자 아이디 userNum INT, --사용자 고유번호 userName VARCHAR(10), --이름 birthYear INT, --출생 연도 addr CHAR(2), --지역(경기, 서울, 경남등으로 글자만입력) mobile1 CHAR(3), --휴대폰의 국번(011, 016, 017, 018, 019, 010 등) mobile2 CHAR(8), --휴대폰의 나머지전화번호(하이픈 제외) height SMALLINT, --키 mDate DATE --회원가입일 ); |
- DROP TABLE IF EXISTS userTBL;
buyTBL, userTBL 이 존재하면, 삭제한다.
- CREATE TABLE userTBL--회원테이블
userTBL 을 생성하는 명령어
- userID CHAR(8)
테이블에서 사용할 속성 / 속성의 데이터 타입
OPTION
속성, 데이터 타입 이후에 추가할 수 있다.
[NOT NULL | UNIQUE | DEFAULT 기본값 | CHECK 체크조건]
- NOT NULL / NULL : 널값 허용 여부는 데이터 타입 이후에 설정한다.
userNum INT NOT NULL |
- PRIMARY KEY : 기본키 설정하기
userNum INT NOT NULL PRIMARY KEY |
- AUTO_INCREMENT : 자동 증가
userNum INT AUTO_INCREMENT NOT NULL PRIMARY KEY |
- FOREIGN KEY(userID) REFERENCES otherTBL(NUM) : 외래키 설정
외래키는 다른 테이블의 PRIMARY KEY인 열을 가져와서 설정하는 것이다.
아래 예제는
otherTBL의 NUM 열을
userTBL 의 userID열의 외래키로 설정하는 것이다.
CREATE TABLE userTBL ( userID CHAR(8), userNum INT NOT NULL PRIMARY KEY, userName VARCHAR(10), birthYear INT, addr CHAR(2), mobile1 CHAR(3), mobile2 CHAR(8), height SMALLINT, mDate DATE FOREIGN KEY(userID) REFERENCES otherTBL(NUM) ); |
데이터 입력
INSERT INTO userTBL VALUES ('YJS',1, '유재석', 1972, '서울', '010', '11111111', 178, '2008-8-8'); INSERT INTO userTBL VALUES ('KHD',2, '강호동', 1970, '경북', '011', '22222222', 182, '2007-7-7'); INSERT INTO userTBL VALUES ('KKJ',3, '김국진', 1965, '서울', '019', '33333333', 171, '2009-9-9'); |