Table 테이블
- RDBMS 에서 데이터를 저장하는 2차원 형태의 데이터베이스 객체
- 테이블은 데이터 관리 작업에 쉬운 형태
- 로우와 칼럼으로 구성
Column 칼럼
Row 로우
- 테이블의 가로 항목
- 여러개의 칼럼이 모여 하나의 로우 구성
컬럼의 데이터 타입
문자형
n
은 저장될 문자 값의 길이
n
개의 문자만큼 저장 가능
CHAR(n)
CHAR
는 고정 길이 문자형
- 나머지는 공백으로 채워진다.
- 데이터를 조회하면 공백 없이 조회
n
의 최댓값은 255
VARCHAR(n)⭐
- 가변 길이 문자형, 실제 입력되는 문자의 길이만큼 저장
- 공백 없이 문자 저장
n
의 최댓값은 65,535 (64KB)
CHAR
보다는 VARCHAR
타입을 주로 사용
TEXT
- VARCHAR 보다 더 큰 문자 값을 저장할 때 사용
- TINYTEXT: 255Byte (255 문자)
- TEXT: 64KB (65,535 문자)
- MEDIUMTEXT 16MB
- LONGTEXT 4GB
BLOB Binary Large Object
- 이미지처럼 크기가 큰 데이터를 저장할 때 사용
- TINYBLOB 255Byte
- BLOB 64KB
- MEDIUMBLOB 16MB
- LONGBLOB 4GB
ENUM
- 특정 값 목록을 정해놓고 이 목록에 있는 값들만 입력할 수 있는 문자열 객체 타입
- ENUM(’small’, ‘medium’, ‘large’) 라고 선언했다면 칼럼에는 이 3가지 값만 입력 가능
숫자형
숫자형 옵션
UNSIGNED
- 부호가 없다는 뜻
- 0과 0보다 큰 수만 입력 가능
- 숫자 범위는 유지한 채 음수가 저장될 공간을 양수로 넓힌다.
정수형
TINYINT [UNSIGNED]
- -128 ~ 127 정수 저장할 수 있는 데이터 타입
UNSIGNED
옵션은 0 ~ 255 까지 저장 가능
SMALLINT [UNSIGNED]
- -32,768 ~ 32,767 정수를 저장할 수 있는 데이터 타입
UNSIGNED
옵션은 0 ~ 65,535 까지 저장 가능
MEDIUMINT[(M)][UNSIGNED]
- SMALLINT 보다 더 큰 정수를 입력할 때 사용
- -8,388,608 ~ 8,388,607 정수를 저장할 수 있는 데이터 타입
INT[(M)][UNSIGNED]⭐
- 음수를 포함하면 대략 -21억에서 21억까지
INT
대신 INTEGER
사용 가능
BIGINT[(M)][UNSIGNED]
실수형
M
은 전체 자릿수
D
는 소수점 이하 자릿수
DECIMAL[(M, D)][UNSIGNED]⭐
- 고정 소수 실수형
M
은 소수점 이하 자릿수를 포함해 최대 65자리 저장 가능
M
생략시 기본 10으로 지정
D
는 최대 30자리까지 지정 가능
D
를 명시하지 않거나 0을 명시하면 소수점 이하 숫자는 없다는 뜻
DOUBLE[(M, D)][UNSIGNED]
- 부동 소수 실수형 (떠다니는 소수점)
- 15 자릿수를 넘어가면 근사값을 저장 (부정확)
날짜형
DATE
- YYYY-MM-DD 형식 사용
- 4자리 연도, 2자리 월, 2자리 일
DATETIME[(fsp)]⭐
- YYYY-MM-DD hh:mm:ss[.fraction] 형식 사용
- hh 시간, mm 분, ss 초, fraction 소수점 이하 초
- fsp 는 소수점 이하 정밀도 자릿수 (0 ~ 6)
TIME[(fsp)]
- 시, 분, 초를 입력하는 데이터 타입
- hh:mm:ss[.fraction] 형식 사용
YEAR
4자리 연도를 입력할 수 있는 데이터 타입