참고)
window 기준 터미널 정리하기 : \! cls
SHOW DATABASES;
CREATE DATABASE <database-name>;
USE <database-name>;
SELECT DATABASE();
DROP DATABASE <database-name>;
CREATE TABLE <table-name> (
column1 type,
column2 type
);
데이터 형식
| 문자형 | 숫자형 | 날짜형 |
|---|---|---|
| VARCHAR(max_length) | INT | DATE // YYYY-MM-DD |
| CHAR(fixed_length) | DECIMAL(최대 자릿수, 소수점 뒤에 오는 자릿수) | TIME // HH(H):MM:SS |
| FLOAT(4 Bytes) | DATETIME // YYYY-MM-DD HH:MM:SS | |
| DOUBLE(8 Bytes) | TIMESTAMP |
숫자형 사용 시:
0 이상의 값만 사용하도록 제약 걸기 : UNSIGNED
ex) CREATE TABLE <table-name> (
column INT UNSIGNED
);
날짜형 사용 시:
CURDATE(); // 현재 날짜 2024-04-01
CURTIME(); // 현재 시간 18:41:28
NOW(); // 현재 날짜, 시간 2024-04-01 18:41:43
DATE(data); // YYYY--MM-DD
DAY(date_data); // 며칠인지
DAYOFWEEK(date_data); // 무슨 요일인지 (1=Sunday, 2=Monday, ..., 7=Saturday)
MONTHNAME(date_data); // 몇 월인지
HOUR/MINUTE/SECOND(time_data); // 몇 시/분/초인지
TIME(data); // HH:MM:SS
DATE_FORMAT(data, format);
DATEDIFF(date1_data, date2_data); // data1과 data2의 날짜 차이
DATE_ADD/DATE_SUB(date_data, INTERVAL expr unit); // date_data +/- expr unit
ex) DATE_ADD/SUB(now(), INTERVAL 2 YEAR); // 현재 날짜 +/- 2년
DATETIME 범위 // (1000-01-01 00:00:00 ~ 9999-12-31 23:59:59)
TIMESTAMP 범위 // (1970-01-01 00:00:01 ~ 2038-01-19 -3:14:07)
ex) CREATE TABLE captions2 (
text VARCHAR(150),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, // 기본값 : 현재 날짜, 시간
updated_at TIMESTAMP ON UPDATE CURRENT_TIMESTAMP // 업데이트시 자동 변경
);
[참고] date and time functions (날짜형 사용 방법, format 정보)
SHOW TABLES;
SHOW COLUMNS FROM <table-name>;
or
DESC <table-name>;
DROP TABLE <table-name>;
CREATE TABLE <table-name> (
column1 type NOT NULL,
column2 type DEFAULT 'default-value'
);
CREATE TABLE <table-name> (
id-name INT NOT NULL PRIMARY KEY,
column type,
);
or
CREATE TABLE <table-name> (
id-name INT NOT NULL,
column type,
PRIMARY KEY(id-name)
);
CREATE TABLE <table-name> (
id-name INT AUTO_INCREMENT,
column type,
PRIMARY KEY(id-name)
);