π‘ TRANSACTIONμ λ°μ΄ν° λ² μ΄μ€μμ ν λ²μ μνλλ μμ μ λ¨μμ΄λ€.
μμ, μ§ν, μ’ λ£ λ¨κ³λ₯Ό κ°μ§λ©° λ§μ½ μ€κ°μ μ€λ₯κ° λ°μνλ©΄ λ‘€λ°±(μμ μ΄μ λ¨κ³λ‘ λλ리λ μμ )μ μννκ³ λ°μ΄ν° λ² μ΄μ€μ μ λλ‘ λ°μνκΈ° μν΄μλ 컀λ°(μ΄ν λ‘€λ°±μ΄ λμ§ μμ)μ μ§ννλ€.
MySQLμ κΈ°λ³Έμ μΌλ‘ μλ μ»€λ° μ€μ μ΄ λμ΄ μμ΄(λ‘€λ°±μ΄ μλ¨). λ‘€λ°±μ νκΈ° μν΄μλ μλ μ»€λ° μ€μ μ ν΄μ ν΄ μ£Όμ΄μΌ νλ€.
DML(INSERT, UPDATE, DELETE, REPLACE) μ€ν ν DATABASEμ λ³κ²½μ¬νμ μλ €μΌν¨
-> COMMIT
λ°μ΄ν° νμμΌλ‘λ μ«μ,λ¬Έμ,λ μ§,μκ° μ΄ μλ€.
| λ°μ΄ν° νμ | λ°μ΄νΈ μ | μ«μ λ²μ | μ€λͺ |
|---|---|---|---|
| BIT(N) | N/B | 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 | 8 | -1.22E-308 ~ 1.79E+308 | μμμ μλ 15μ리κΉμ§ νν |
| DECIMAL(m,[d]) NUMBER(m,[d]) | 5~17 | -10^38+1 ~ 10^38-1 | μ 체 μλ¦Ώμ(m)μ μμμ μ΄ν μλ¦Ώμ(d)λ₯Ό κ°μ§ |
| λ°μ΄ν° νμ | λ°μ΄ν° νμ | λ°μ΄νΈ μ | μ€λͺ |
|---|---|---|---|
| CHAR(n) | 1 ~ 255 | κ³ μ κΈΈμ΄ λ¬Έμνnμ 1λΆν° 255κΉμ§ μ§μ κ·Έλ₯ CHARλ§ μ°λ©΄ CHAR(1)κ³Ό λμΌ | |
| VARCHAR(n) | 1 ~ 65535 | κ°λ³κΈΈμ΄ λ¬Έμν nμ μ¬μ©νλ©΄ 1λΆν° 65535κΉμ§ μ§μ | |
| BINARY(n) | 1 ~ 255 | κ³ μ κΈΈμ΄μ μ΄μ§ λ°μ΄ν° κ° | |
| VARBINARY(n) | 1 ~ 255 | κ°λ³κΈΈμ΄μ μ΄μ§ λ°μ΄ν° κ° | |
| TEXT | TINYTEXT | 1 ~ 255 | 255 ν¬κΈ°μ TEXT λ°μ΄ν° κ° |
| TEXT | TEXT | 1 ~ 65535 | N ν¬κΈ°μ TEXT λ°μ΄ν° κ° |
| TEXT | MEDIUMTEXT | 1 ~ 16777215 | 16777215 ν¬κΈ°μ TEXT λ°μ΄ν° κ° |
| TEXT | LONGTEXT | 1 ~ 4294967295 | μ΅λ 4GB ν¬κΈ°μ TEXT λ°μ΄ν° κ° |
| BLOB | TINYBLOB | 1 ~ 255 | 255 ν¬κΈ°μ BLOB λ°μ΄ν° κ° |
| BLOB | BLOB | 1 ~ 65535 | N ν¬κΈ°μ BLOB λ°μ΄ν° κ° |
| BLOB | MEDIUMBLOB | 1 ~ 16777215 | 16777215 ν¬κΈ°μ BLOB λ°μ΄ν° κ° |
| BLOB | LONGBLOB | 1 ~ 4294967295 | μ΅λ 4GB ν¬κΈ°μ BLOB λ°μ΄ν° κ° |
| ENUM(κ°λ€...) | 1 λλ 2 | μ΅λ 65535κ°μ μ΄κ±°ν λ°μ΄ν° κ° | |
| SET(κ°λ€...) | 1, 2, 3, 4, 8 | μ΅λ 64κ°μ μλ‘ λ€λ₯Έ λ°μ΄ν° κ° |
ENUM : νλμ κ°λ§ μ ν κ°λ₯. 미리 μ μλ κ° μ€μμ λ¨μΌ κ°λ§ μ μ₯ν λ μ¬μ©
SET : μ¬λ¬ κ°μ κ° μ ν κ°λ₯. 미리 μ μλ κ°λ€ μ€μμ 볡μ μ ν κ°λ₯
CREATE TABLE users ( user_id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50), gender ENUM('λ¨μ', 'μ¬μ', 'κΈ°ν') ); INSERT INTO users (username, gender) VALUES ('λ―Όμ', 'λ¨μ,μ¬μ'); -- β
CREATE TABLE products ( product_id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100), tags SET('μΈκΈ°', 'ν μΈ', 'μ μν', 'νμ ν') ); INSERT INTO products (name, tags) VALUES ('μ μΈ ', 'ν μΈ,μ μν'); -- OK
κ³μΈ΅μ ꡬ쑰λ₯Ό κ°μ§ λ°μ΄ν°λ₯Ό κ·Έλλ‘ μ μ₯ κ°λ₯
CAST (expression AS λ°μ΄ν°νμ [(κΈΈμ΄)])CONVERT (expression, λ°μ΄ν°νμ [(κΈΈμ΄)])λ°μ΄ν° νμ
μ λ³νν λ μ¬μ©
CAST ('123.45' AS CHAR);
CASTμ λΉμ·νκ² λ°μ΄ν° νμ
λ³νμ μ¬μ©
SELECT CONVERT('2025-09-29', DATE);γΉ
λ¬Έμμ΄ λΆμ΄κΈ° ν¨μ
CONCAT('ν', 'κΈΈλ')
INSERT
UPDATE
DELETE
CREATE ν
μ΄λΈ μμ±
ALTER
DROP ν
μ΄λΈ μμ
π‘ν μ΄λΈμ λ°μ΄ν°κ° μ λ ₯λκ±°λ μμ λ λμ κ·μΉμ μ μνλ€. λ°μ΄ν° 무결μ±μ 보μ₯νλλ° λμμ΄ λλ€.
ON UPDATE SET NULL
ON DELETE SET NULL
λΆλͺ¨ ν
μ΄λΈ(μ°Έμ‘°λλ μͺ½) μμ PK κ°μ΄ λ³κ²½λκ±°λ μμ λ λ
β μμ ν
μ΄λΈμ μΈλ ν€ κ°μ΄ μλμΌλ‘ NULLλ‘ λ°λ
ON UPDATE CASCADE
ON DELETE CASCADE
λΆλͺ¨ νμ΄ μμ λκ±°λ μμ λ λ, μμ νλ κ°μ΄ λ°λκ±°λ μμ λ¨