...

์ซ์ ๋ฐ์ดํฐ ํ์
- DECIMAL์ ์ ํํ ์์น๋ฅผ ์ ์ฅํ์ง๋ง FLOAT, REAL์ ๊ทผ์ฌ์น ๊ฐ์ ์ ์ฅํฉ๋๋ค.
- ๋์ ์ FLOAT, REAL์ ๋ ํฐ ์ซ์๋ฅผ ์ ์ฅํ ์ ์์ต๋๋ค.
- ๋ถํธ์๋ ์ซ์๋ฅผ ์ ์ฅํ ๋์๋ UNSIGNED ์์ฝ์ด๋ฅผ ๊ฐ์ด ์ฌ์ฉํฉ๋๋ค.
๋ฐ์ดํฐ ํ์ | ๋ฐ์ดํธ ์ | ์ซ์ ๋ฒ์ | ์ค๋ช |
BIT(N) | N/8 | โ | 1 ~ 64bit๋ฅผ ํํํฉ๋๋ค. b'0000' ๊ณผ ๊ฐ์ด ํํ |
TINYINT | 1 | -128 ~ 127 | ์ ์ |
SMALLINT | 2 | -32,768 ~ 32,767 | ์ ์ |
MEDIUMINT | 3 | -8,388,608 ~ 8,388,607 | ์ ์ |
INT INTEGER |
4 | ์ฝ -21์ต ~ +21์ต | ์ ์ |
BIGINT | 8 | ์ฝ -900๊ฒฝ ~ +900๊ฒฝ | ์ ์ |
FLOAT | 4 | -3.40E+38 ~ -1.17E-38 | ์์์ ์๋ 7์๋ฆฌ๊น์ง ํํ |
DOUBLE REAL |
8 | 1.22E-308 ~ 1.79E+308 | ์์์ ์๋ 15์๋ฆฌ๊น์ง ํํ |
DECIMAL(m, [d]) NUMERIC(m, [d]) |
5 ~ 17 | -1038+1 ~ +1038-1 | ์ ์ฒด ์๋ฆฟ์(m)์ ์์์ ์ดํ ์๋ฆฟ์(d)๋ฅผ ๊ฐ์ง ์ซ์ํ ์) decimal(5, 2)๋ ์๋ฆฟ์ 5์๋ฆฌ๋ก ํ๋ ์์ซ์ ์ดํ๋ฅผ 2์๋ฆฌ๋ก ํฉ๋๋ค. >> 673.21 |
๋ฌธ์ ๋ฐ์ดํฐ ํ์
- VARCHAR์ UTF-8์ ํํ๋ฅผ ์ง๋๋ฏ๋ก ์ ๋ ฅํ ๊ธ์์ ์ธ์ด์ ๋ฐ๋ผ ๋ด๋ถ์ ์ผ๋ก ํฌ๊ธฐ๊ฐ ๋ฌ๋ผ์ง๋๋ค.
- ๋ฐ๋ผ์ CHAR(100)์ ํ๊ธ ์์ด ์๊ด ์์ด 100๊ธ์๋ฅผ ์๋ฏธํฉ๋๋ค.
- BLOB(Binary Large Object)๋ ์ฌ์ง, ๋์์, ๋ฌธ์ ํ์ผ ๋ฑ์ ๋์ฉ๋ ์ด์ง ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋๋ฐ ์ฌ์ฉํฉ๋๋ค.
๋ฐ์ดํฐ ํ์ | ๋ฐ์ดํธ ์ | ์ค๋ช | |
โCHAR(n) | โ1 ~ 255 | ๊ณ ์ ๊ธธ์ด ๋ฌธ์ํ. n์ 1๋ถํฐ 255๊น์ง ์ง์ . CHARACTER์ ์ฝ์์ด๋ฉฐ, CHAR ์ด๋ผ๊ณ ๋ง ํ๋ฉด CHAR(1)๊ณผ ๋์ผ โ CHAR(100) ์ธ ๊ฒฝ์ฐ ์ธ ์๋ฆฌ๋ง ์ฌ์ฉํด๋ ๋๋จธ์ง 97 ์๋ฆฌ๋ฅผ ํ ๋น. ์ฑ๋ฅ์ CHAR์ด VARCHAR๋ณด๋ค ๋ ์ข์. |
|
โVARCHAR(n) | โ1 ~ 65535 | ๊ฐ๋ณ๊ธธ์ด ๋ฌธ์ํ. n์ ์ฌ์ฉํ๋ฉด 1๋ถํฐ 65535๊น์ง ์ง์ Variable Character์ ์ฝ์. โ VARCHAR(100) ์ธ ๊ฒฝ์ฐ 3๊ธ์๋ฅผ ์ ์ฅํ๋ ๊ฒฝ์ฐ 3์๋ฆฌ์ ๋ฐ์ดํฐ ๊ณต๊ฐ๋ง ์ฌ์ฉ |
|
BINARY(n) | 1 ~ 255 | ๊ณ ์ ๊ธธ์ด ์ด์ง ๋ฐ์ดํฐ ๊ฐ | |
VARBINARY(n) | 1 ~ 255 | ๊ฐ๋ณ๊ธธ์ด ์ด์ง ๋ฐ์ดํฐ ๊ฐ | |
โ โ TEXT |
TINYTEXT | 1 ~ 255 | 255 ํฌ๊ธฐ์ TEXT ๋ฐ์ดํฐ ๊ฐ |
TEXT | 1 ~ 65535 | N ํฌ๊ธฐ์ TEXT ๋ฐ์ดํฐ ๊ฐ | |
MEDIUMTEXT | 1 ~ 16777215 | 16777215 ํฌ๊ธฐ์ TEXT ๋ฐ์ดํฐ ๊ฐ | |
LONGTEXT | 1 ~ 4294967295 | ์ต๋ 4GB ํฌ๊ธฐ์ TEXT ๋ฐ์ดํฐ ๊ฐ | |
โBLOB | TINYBLOB | 1 ~ 255 | 255 ํฌ๊ธฐ์ BLOB ๋ฐ์ดํฐ ๊ฐ |
TEXT | 1 ~ 65535 | N ํฌ๊ธฐ์ BLOB ๋ฐ์ดํฐ ๊ฐ | |
MEDIUMBLOB | 1 ~ 16777215 | 16777215 ํฌ๊ธฐ์ BLOB ๋ฐ์ดํฐ ๊ฐ | |
LONGBLOB | 1 ~ 4294967295 | ์ต๋ 4GB ํฌ๊ธฐ์ BLOB ๋ฐ์ดํฐ ๊ฐ | |
ENUM(๊ฐ๋ค..) | 1 ๋๋ 2 | ์ต๋ 65535๊ฐ์ ์ด๊ฑฐํ ๋ฐ์ดํฐ ๊ฐ | |
SET(๊ฐ๋ค..) | 1, 2, 3, 4, 8 | ์ต๋ 64๊ฐ์ ์ค๋ณต๋์ง ์๋ ๋ฐ์ดํฐ ๊ฐ |
๋ ์ง์ ์๊ฐ ๋ฐ์ดํฐ ํ์
๋ฐ์ดํฐ ํ์ | ๋ฐ์ดํธ ์ | ์ค๋ช |
DATE | 3 | ๋ ์ง๋ 1001-01-01 ~ 9999-12-31๊น์ง ์ ์ฅ๋๋ฉฐ ๋ ์ง ํ์๋ง ์ฌ์ฉ 'YYYY-MM-DD' ํ์์ผ๋ก ์ฌ์ฉ๋จ |
TIME | 3 | -838:59:59.000000 ~ 838:59:59.000000๊น์ง ์ ์ฅ๋๋ฉฐ 'HH:MM:SS' ํ์์ผ๋ก ์ฌ์ฉ |
DATETIME | 8 | ๋ ์ง๋ 1001-01-01 00:00:00 ~ 9999-12-31 23:59:59๊น์ง ์ ์ฅ๋๋ฉฐ ํ์์ 'YYYY-MM-DD HH:MM:SS ํ์์ผ๋ก ์ฌ์ฉ |
TIMESTAMP | 4 | ๋ ์ง๋ 1001-01-01 00:00:00 ~ 9999-12-31 23:59:59๊น์ง ์ ์ฅ๋๋ฉฐ ํ์์ 'YYYY-MM-DD HH:MM:SS ํ์์ผ๋ก ์ฌ์ฉ. time_zone ์์คํ ๋ณ์์ ๊ด๋ จ์ด ์์ผ๋ฉฐ UTC ์๊ฐ๋๋ก ๋ณํํ์ฌ ์ ์ฅ. |
YEAR | 1 | 1901 ~ 2155๊น์ง ์ ์ฅ. 'YYYY' ํ์์ผ๋ก ์ฌ์ฉ. |

๊ธฐํ ๋ฐ์ดํฐ ํ์
๋ฐ์ดํฐ ํ์ | ๋ฐ์ดํธ ์ | ์ค๋ช |
GEOMETRY | N/A | ๊ณต๊ฐ ๋ฐ์ดํฐ ํ์์ผ๋ก ์ , ์ ๋ฐ ๋ค๊ฐํ ๊ฐ์ ๊ณต๊ฐ ๋ฐ์ดํฐ ๊ฐ์ฒด๋ฅผ ์ ์ฅ |
JSON | 8 | JSON ๋ฌธ์๋ฅผ ์ ์ฅ. MySQL 5.7.8 ๋ถํฐ ์ง์. ๋ฐฐ์ด ํ์ ์ญ์ ์ง์ |
DB์์ Json ์ ์ธ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์๊น?
- ๋น ๋ฅธ ์กฐํ๋ณด๋ค ๋ฐ์ดํฐ์ ์ ์ฅ์ ์ค์ ์ ๋๋ ๋ฐ์ดํฐ
- ๋ณํ๊ฐ ์์ผ๋ฉด์ ์ ํํ๋์ง ์์ผ๋ฉด์ ๋ค์ํ ํ์์ ๋ณํ๊ฐ ์๊ตฌ๋๋ ๋ฐ์ดํฐ
- ์ดํ๋ฆฌ์ผ์ด์ ์ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ณ DB์๋ ๋จ์ํ ์ ์ฅ์ด ์๊ตฌ๋๋ ๋ฐ์ดํฐ
- ์ง์์ ์ธ ๋ฐ์ดํฐ์ ํ์์ ๋ณํ๊ฐ ๊ฐ๋ฅํ ๋ฐ์ดํฐ
-- json ํ
์ด๋ธ
CREATE TABLE `testschema`.`jsontable` (
`id` INT NOT NULL AUTO_INCREMENT,
`name` VARCHAR(45) NULL,
`jsoncol` JSON NULL,
PRIMARY KEY (`id`)
);
-- json ๊ฐ ๋ฃ๊ธฐ
INSERT INTO `testschema`.`jsontable`(`name`, `jsoncol`) VALUES ("json_string", '{"a": "A", "b":"B"}');
-- ๋ฐฐ์ด ๊ฐ ๋ฃ๊ธฐ
INSERT INTO `testschema`.`jsontable`(`name`, `jsoncol`) VALUES ("json_object with json_array", json_object("a", JSON_ARRAY(1,2,3), "b", "B"));
-- json ์กฐํ
select id, name, jsoncol FROM testschema.jsontable;
-- json ํน์ ํค ์กฐํ
select id, name, json_extract(jsoncol, '$.a') FROM testschema.jsontable;
์ธ์ฉํ ๋ถ๋ถ์ ์์ด ๋ง์ผ ๋๋ฝ๋ ์ถ์ฒ๊ฐ ์๋ค๋ฉด ๋ฐ๋์ ์๋ ค์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค
์ด ๊ธ์ด ์ข์ผ์ จ๋ค๋ฉด ๊ตฌ๋ & ์ข์์
์ฌ๋ฌ๋ถ์ ๊ตฌ๋
๊ณผ ์ข์์๋
์ ์์๊ฒ ํฐ ํ์ด ๋ฉ๋๋ค.