정수 타입
타입 | 저장 공간 | 최솟값 | 최댓값 |
TINYINT | 1바이트 | -128 | 127 |
SMALLINT | 2바이트 | -32768 | 32767 |
MEDIUMINT | 3바이트 | -8388608 | 8388607 |
INT | 4바이트 | -2147483648 | 2147483647 |
BIGINT | 8바이트 | -9223372036854775808 | 9223372036854775807 |
ALTER TABLE Reservation ADD Price INT
Reservation 테이블에 INT형 Price 필드를 추가
MySQL에서도 데이터 타입은 여러 종류가 있으나 자주 쓰는 타입은 거의 정해져 있다고 한다.
고정 소수점 타입
실수의 값을 정확히 표기할 때 사용
DECIMAL(M, D)
M은 소수를 포함한 총 자릿수 (최대 65), D은 소수 부분의 자릿수 (0이면 소수 X)
소수 부분으로 인해 총 자릿수가 넘어간다면 소수 부분을 반올림해서 표시해준다.
문자열 타입
ㅡ CHAR, VARCHAR
CHAR는 문자열 길이를 정해주면 길이가 고정되는 고정 길이 문자열이다. ( 설정한 길이보다 작은 값이 들어오면 공백을 넣어서 맞춰줌 )
VARCHAR는 반대로 길이가 고정되지 않는 가변 길이 문자열이다. ( 저장한 값에 따라 저장 공간이 맞춰짐 )
CHAR(M)
VARCHAR(M)
* BINARY()와 VARBINARY()는 CHAR, VARCHAR와 비슷하나 문자가 아닌 바이너리 데이터를 저장한다는 차이점이 있다.
ㅡ BLOB, TEXT
BLOB은 다양한 크기의 바이너리 데이터를 저장하는 타입 ( 저장 최대 크기에 따라 TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB로 구분 )
TEXT는 VARCHAR와 비슷하나 기본 값을 가질 수 없으며 대소문자를 구분한다. ( 저장 최대 크기에 따라 TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT로 구분 )
NOTE TEXT;
길이를 지정해줄 수 없기에 TEXT 타입의 NOTE 필드를 선언 후에 INSERT INTO로 값을 넣어준다.
ㅡ ENUM
미리 정의한 집합의 요소 중 하나만 저장할 수 있는 타입 / 가독성 ↑
ENUM('데이터값1','데이터값2',...)
ㅡ SET
미리 정의한 집합의 요소 중 여러 개를 동시에 저장할 수 있는 타입 ( 최대 64개의 SET )
SET('데이터값1', '데이터값2', ...)
날짜 / 시간 타입
ㅡ DATE
날짜를 저장하는 타입 / 'YYYY-MM-DD' 형식으로 저장
ㅡ DATETIME
날짜와 시간까지 저장하는 타입 / 'YYYY-MM-DD HH:MM:SS'이 기본 형식
ㅡ TIMESTAMP
날짜와 시간을 나타내는 타임스탬프를 저장하는 타입 / 별도의 값을 입력하지 않으면 데이터가 마지막으로 입려고디거나 변경된 시간이 저장된다.
외에도 시간을 저장하는 TIME 타입과 연도를 저장하는 YEAR 타입 등이 있다.
데이터 타입은 여럿이나 자주 쓰는 타입은 거의 정해져 있다고 한다. / INT, FLOAT, VARCHAR, TEXT, DATE 등 정도?
'MySQL' 카테고리의 다른 글
Primary Key,(기본 키) Foreign Key(참조 키, 외래 키) (0) | 2023.01.24 |
---|---|
MySQL 연산 (0) | 2023.01.20 |
MySQL 구문 [삽입, 수정, 선택, 중복 제거, 정렬, 별칭] (0) | 2023.01.19 |
MySQL 구문 [ 생성, 제약 조건, 수정, 삭제 ] (0) | 2023.01.19 |
DataBase, SQL, RDB + MySQL (0) | 2023.01.18 |
댓글