일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- MYSQL
- 프로그래머스
- 코딩교육봉사
- 1과목
- 코틀린
- C++
- 소프티어
- java
- programmers
- kotlin
- BFS
- 백준 알고리즘
- 시나공
- 백준
- 코딩봉사
- python
- softeer
- CJ UNIT
- SW봉사
- 파이썬
- 알고리즘
- 회고
- SQL
- 정보처리산업기사
- 문제풀이
- 데이터베이스
- 자바
- 스프링
- 공부일지
- 백준알고리즘
Archives
- Today
- Total
JIE0025
[MySQL] 테이블 생성 (CREATE TABLE)과 옵션 본문
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'); |
'백엔드 > 데이터베이스' 카테고리의 다른 글
[데이터모델링] ER모델 개념, IE표기법 (0) | 2021.06.05 |
---|---|
[MySQL] 제약조건 (0) | 2021.06.04 |
[MySQL] 인덱스(index), 클러스터/보조인덱스 (4) | 2021.05.25 |
[MySQL] JOIN 개요 (0) | 2021.04.19 |
[MySQl]날짜/시간함수 (0) | 2021.04.19 |