포스팅으로 한번 정리해두면 좋을 거 같아서 정리!
CREATE DATABASE 데이터베이스이름
CREATE TABLE 테이블이름
(
필드이름1 타입,
필드이름2 타입,
...
)
DATABASE의 전체적인 특성 수정 - 문자 집합, 콜레이션
TABLE의 필드 추가, 삭제. 타입 변경
ALTER DATABASE 데이터베이스이름 CHARACTER SET = 문자집합이름
ALTER DATABASE 데이터베이스이름 COLLATE = 콜레이션이름
ALTER TABLE 테이블이름 ADD 필드이름 필드타입
ALTER TABLE 테이블이름 DROP 필드이름
ALTER TABLE 테이블이름 MODIFY COLUMN 필드이름 필드타입
DROP DATABASE 데이터베이스이름
DROP TABLE 테이블이름
# 삭제 쿼리문 날리기전에 존재 유무 검사
DROP TABLE IF EXISTS 테이블이름
# 테이블은 남기고 데이터 전체 삭제
TRUNCATE TABLE 테이블이름
INSERT INTO 테이블이름(필드이름1, 필드이름2, ...)
VALUES(데이터값1, 데이터값2, ...)
필드 이름을 생략할 수 있는데, 이 경우 스키마와 같은 순서대로 필드의 값이 자동 대입된다.
UPDATE 테이블이름
SET 필드이름1 = 데이터값1, 필드이름2 = 데이터값2, ...
WHERE 필드이름 = 데이터값
DELETE FROM 테이블이름
WHERE 필드이름 = 데이터값
타입 | 저장 공간 | 최소값 | 최대값 |
---|---|---|---|
Signed / Unsigned | Signed/ Unsigned | ||
TINYINT | 1바이트 | -128 / 0 | 127 / 255 |
SMALLINT | 2바이트 | -32768 / 0 | 32767 / 65535 |
MEDIUMINT | 3바이트 | -8388608 / 0 | 8388607 / 16777215 |
INT | 4바이트 | -2147483648 / 0 | 2147483647 / 4294967295 |
BIGINT | 8바이트 | -9223372036854775808 / 0 | 9223372036854775807/ 18446744073709551615 |
DECIMAL(M,D)
M은 소수 부분을 포함한 실수의 총 자릿수를 나타내며, 최댓값은 65이다.
D는 소수 부분의 자릿수를 나타내며, D가 0이면 소수 부분을 가지지 않는다.
FLOAT(P)
P로 정밀도에 필요한 최소한의 비트 수를 명시
CHAR와 VARCHAR
CHAR는 고정 길이의 문자열
VARCHAR은 가변 길이의 문자열
VARCHAR(M)
: M은 저장할 문자열의 최대 길이 / 한글은 2
BINARY와 VARBINARY
char, varchar과 거의 비슷
다만 binary 데이터를 저장할 때 사용
BLOB과 TEXT
BLOB은 Binary Large Object를 의미하며, 다양한 크기의 바이너리 데이터를 저장할 수 있는 타입이다.
TEXT는 varchar과 비슷하지만 기본값을 가질 수 없다. 그리고 BLOB과 달리 대소문자를 구별한다.
저장할 수 있는 데이터의 최대 크기에 따라 TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT로 구분된다.
ENUM
ENUM('데이터값1','데이터값2',...)
SET
미리 정의한 집합 안의 요소 중 여러 개를 동시에 저장할 수 있는 타입
SET('데이터값1', '데이터값2', ...)