CheatSheet
# ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฑ
CREATE DATABASE TEST1 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
# ์ฌ์ฉ์ ์์ฑ
CREATE USER TEST1;
# ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ๋ชจ๋ ๊ถํ ๋ถ์ฌ
GRANT ALL PRIVILEGES ON TEST1.* TO 'TEST1'@'localhost' IDENTIFIED BY 'TEST1';
# ํ
์ด๋ธ ์์ฑ
CREATE TABLE `test_table` (
`client_id` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`datetime` datetime NOT NULL,
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
PARTITION BY RANGE(TO_DAYS(`datetime`)) (
PARTITION P20171018 VALUES LESS THAN (TO_DAYS('2017-10-19')),
PARTITION P_MAX VALUES LESS THAN (MAXVALUE)
);
# ํํฐ์
๋ถํ
ALTER TABLE `test_table` REORGANIZE PARTITION P_MAX INTO (
PARTITION P20171025 VALUES LESS THAN (TO_DAYS('2017-10-26')),
PARTITION P_MAX VALUES LESS THAN (MAXVALUE)
);
# ํํฐ์
์ญ์
ALTER TABLE test_table DROP PARTITION P20171019
# ๊ธฐ๋ณธ ํ
์ด๋ธ์ ํํฐ์
์ ์ฉ
ALTER TABLE `test_table` PARTITION BY RANGE(TO_DAYS(`datetime`)) (
PARTITION P20171025 VALUES LESS THAN (TO_DAYS('2017-10-26')),
PARTITION P_MAX VALUES LESS THAN (MAXVALUE)
);
# ํํฐ์
์กฐํ
SELECT PARTITION_ORDINAL_POSITION, PARTITION_NAME, TABLE_ROWS, PARTITION_METHOD
FROM information_schema.PARTITIONS
WHERE TABLE_SCHEMA = 'TEST1' AND TABLE_NAME = 'test_table';
# ์ธ๋ฑ์ค ์ถ๊ฐ
CREATE INDEX test_table_datetime_ix ON test_table(`datetime`);
ALTER TABLE test_table ADD INDEX test_table_datetime_ix (`datetime`);
# ์ธ๋ฑ์ค ํ์ธ
SHOW INDEX FROM test_table;
# ํ
์ด๋ธ ์ธ์ฝ๋ฉ ์ค์
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
SQL
๋ณต์ฌ



