MySQL 문법을 익히기 전에 데이터베이스에서 테이블을 생성할 때 알아야하는 데이터 타입과 제약조건에 대해 알아보자
Data Type
1. Numberic
1) 정수 타입(integer types)
2) 고정 소수점 타입(fixed-point types)
•
DECIMAL(M, D)
◦
M : 소수점을 포함한 전체 자리수
◦
D : 소수 부분 자리수
ALTER TABLE user1
ADD COLUMN deci DECIMAL(5,2)
SQL
복사
•
NUMERIC(M, D)
3) 실수 (floating-point types)
소수점을 나타내기 위한 데이터 타입으로 아래의 두 타입이 있음(데이터 저장공간의 차이가 있음)
•
FLOAT (4byte)
•
DOUBLE (8byte)
아래와 같이 고정 소수점 타입으로도 사용 가능
•
FLOAT(M,D)
•
DOUBLE(M,D)
4) 비트 값 타입 ( bit value type )
0과 1로 구성이 되는 2진수(binary) 데이터
•
BIT(M)
◦
M: 비트의 범위
◦
예) M을 5로 작성하면 00000(2) ~ 11111(2) 까지 표현 가능
2. Date & Time
1) DATE
DATE는 날짜를 저장하는 데이터 타입
•
기본 포맷: "년-월-일"
2) DATETIME
DATETIME은 날짜와 시간을 저장하는 데이터 타입
•
기본 포맷: "년-월-일 시:분:초"
3) TIMESTAME
TIMESTAME는 날짜와 시간을 저장하는 데이터 타입
DATETIME과 다르게 날짜를 입력하지 않으면 현재 날짜와 시간을 자동으로 저장
4) TIME
TIME은 시간을 저장하는 데이터 타입
•
기본 포맷: "시:분:초"
5) YEAR
YEAR는 연도를 저장할수 있는 데이터 타입
•
YEAR(2)는 2자리의 연도를 저장
•
YEAR(4)는 4자리의 연도를 저장
3. String
1) CHAR & VARCHAR
1.
CHAR: 고정형 문자열
2.
VARCHAR: 가변형 문자열
2) TEXT
CHAR와 VARCHAR는 대체로 크기가 작은 문자열을 저장할때 사용
크기가 큰 문자열을 저장할 때는 TEXT를 사용
2. Constraint
데이터 베이스의 테이블을 생성할때 각 컬럼은 각각의 제약조건을 가짐
1) NOT NULL
NOT NULL 제약조건이 있는 컬럼에 NULL 값(비어있는 값)을 저장할수 없음
2) UNIQUE
UNIQUE 제약조건이 있는 컬럼에 같은 값을 저장할 수 없음
3) PRIMARY KEY
컬럼을 기본키로 설정하기 위해서는 NOT NULL과 UNIQUE 제약조건을 동시에 만족해야 함
즉, 컬럼에 비어 있는 값, 중복되는 값을 저장할수 없음
하나의 테이블에 하나의 컬럼에만 이 조건을 설정 가능
4) FOREIGN KEY
다른 테이블과 연결되는 값이 저장
5) DEFAULT
데이터를 저장할때 해당 컬럼에 별도의 저장값이 없으면 DEFAULT로 설정된 값이 저장
6) AUTO_INCREMENT
주로 테이블의 PRIMARY KEY 데이터를 저장할때 자동으로 숫자를 1씩 증가시켜 주는 기능으로 사용
참고 자료
•
패스트캠퍼스 '데이터 사이언스 스쿨 Python 8기' 수업자료
•
이동명, 권오현, 고정국, 「컴퓨터 사이언스 개정판」