Search
Duplicate

Manipulation | statement

νƒœκ·Έ
statement
Manipulation
Codecademy
Create
CREATE λ₯Ό ν†΅ν•΄μ„œ μƒˆλ‘œμš΄ 데이터 베이슀의 ν‘œλ₯Ό λ§Œλ“€ 수 μžˆλ‹€.
[μ˜ˆμ‹œ μ½”λ“œ]
CREATE TABLE celebs ( id INTEGER, name TEXT, age INTEGER );
SQL
볡사
CREATE TABLE 은 μƒˆλ‘œμš΄ ν‘œλ₯Ό λ§Œλ“€μ—ˆλ‹€λŠ” λœ»μ΄λ‹€.
( ) 에 각 열을 μ •μ˜ν•˜λŠ” νŒŒλΌλ―Έν„°λ₯Ό λ„£μ–΄μ€€λ‹€.
( ) 끝에 ; 을 λΆ™μ—¬μ€˜μ•Ό ν•œλ‹€λŠ” 것을 λͺ…μ‹¬ν•˜μž
Insert
INSERT λ₯Ό 톡해 μƒˆλ‘œμš΄ row λ₯Ό μ‚½μž…ν•  수 μžˆλ‹€.
[μ˜ˆμ‹œ μ½”λ“œ]
INSERT INTO celebs (id,name, age) VALUES (1, 'Justin Bieber', 22);
SQL
볡사
INSERT INTO λŠ” νŠΉμ •ν•œ column 을 λ”ν•΄μ€€λ‹€λŠ” λœ»μ΄λ‹€.
( ) μ•ˆμ— μ‚½μž…λ˜μ–΄μ•Ό ν•˜λŠ” row 의 데이터λ₯Ό νŒŒλΌλ―Έν„°μ˜ ν˜•νƒœλ‘œ λ„£μ–΄μ€€λ‹€.
VALUES λŠ” μ‹€μ œ νŒŒλΌλ―Έν„°μ˜ 값을 λ„£μ–΄μ€€λ‹€.
Select
SELECT λŠ” 데이터 λ² μ΄μŠ€λ‘œλΆ€ν„° 데이터λ₯Ό 가지고 올 λ•Œ μ‚¬μš©λœλ‹€. μ•„λž˜μ™€ 같은 ꡬ문을 보자.
SELECT name FROM celebs;
SELECT λŠ” 데이터 λ² μ΄μŠ€μ—μ„œ 데이터λ₯Ό query ν•  λ•Œλ§ˆλ‹€ μ‚¬μš©ν•΄μ•Ό ν•˜λŠ” ꡬ문이닀.
name 은 query ν•  λ°μ΄ν„°μ˜ column 을 νŠΉμ •ν•΄μ€€λ‹€.
From 은 query ν•  λ°μ΄ν„°μ˜ ν…Œμ΄λΈ” 이름을 λͺ…μ‹œν•΄μ€€λ‹€.
SELECT ꡬ문은 항상 μƒˆλ‘œμš΄ ν‘œλ₯Ό λ°˜ν™˜ ν•  것이닀.
λͺ¨λ“  column 의 데이터λ₯Ό query ν•  μˆ˜λ„ μžˆλ‹€.
* 은 각각의 이름을 쓰지 μ•Šκ³  λͺ¨λ“  colunm 을 μ„ νƒν•˜κ²Œ ν•΄μ€€λ‹€.
Alter
ALTER TABLE 은 ν‘œμ— μƒˆλ‘œμš΄ column을 더해쀀닀. μƒˆλ‘œ λ§Œλ“€μ–΄μ§„ μ—΄μ˜ 값은 NULL(βˆ…) 이닀.
[μ˜ˆμ‹œ μ½”λ“œ]
ALTER TABLE celebs ADD COLUMN twitter_handle TEXT; SELECT * FROM celebs;
SQL
볡사
Update
UPDATE λŠ” ν‘œμ—μ„œ 이미 μ‘΄μž¬ν•˜λŠ” row 의 값을 μˆ˜μ •ν•  λ•Œ μ“΄λ‹€.
[μ˜ˆμ‹œ μ½”λ“œ]
UPDATE celebs SET twitter_handle = '@taylorswift13' WHERE id = 4;
SQL
볡사
Delete
DELETE FROM 은 ν•˜λ‚˜ ν˜Ήμ€ κ·Έ μ΄μƒμ˜ row λ₯Ό μ‚­μ œν•  λ•Œ μ“΄λ‹€.
[μ˜ˆμ‹œ μ½”λ“œ]
DELETE FROM celebs WHERE twitter_handle IS NULL;
SQL
볡사
Constraints
column 을 μ‚¬μš©ν•  수 μžˆλŠ” 방법에 λŒ€ν•œ 정보λ₯Ό μΆ”κ°€ν•˜λŠ” μ œμ•½ 쑰건은 column 의 데이터 μœ ν˜•μ„ μ§€μ •ν•œ 후에 ν˜ΈμΆœλœλ‹€. μ΄λŠ” νŠΉμ • μ œν•œμ„ λ§Œμ‘±ν•˜μ§€ μ•ŠλŠ” 데이터 μ‚½μž…μ„ κ±°λΆ€ν•˜λŠ”λ° μ‚¬μš©λœλ‹€.
[μ˜ˆμ‹œμ½”λ“œ]
CREATE TABLE celebs ( id INTEGER PRIMARY KEY, name TEXT UNIQUE, date_of_birth TEXT NOT NULL, date_of_death TEXT DEFAULT 'Not Applicable' );
SQL
볡사
PRIMARY KEY 은 ν…Œμ΄λΈ”μ— 이미 μžˆλŠ” row 와 λ™μΌν•œ κ°’μ˜ row λ₯Ό μ‚½μž…ν•  수 μ—†κ²Œ ν•œλ‹€. 이λ₯Ό 톡해 row λ₯Ό κ³ μœ ν•˜κ²Œ 식별할 수 μžˆλ‹€.
UNIQUE λŠ” λͺ¨λ“  row 에 λŒ€ν•΄ λ‹€λ₯Έ 값을 κ°€μ§€κ²Œ ν•œλ‹€. PRIMARY KEY 와 λ‹€λ₯΄κ²Œ μ—¬λŸ¬ 열을 κ°€μ§ˆ 수 μžˆλ‹€.
NOT NULL column μ—λŠ” 값이 μžˆμ–΄μ•Ό ν•œλ‹€. κ°’ 없이 row λ₯Ό μ‚½μž… ν•˜λ €κ³  ν•˜λ©΄ μ‚½μž…μ΄ λ˜μ§€ μ•ŠλŠ”λ‹€.
DEFAULT column 은 μƒˆ row κ°€ ν•΄λ‹Ή row 에 λŒ€ν•œ 값을 μ§€μ •ν•˜μ§€ μ•ŠλŠ” 경우 μ‚½μž…λœ row 에 λŒ€ν•΄ κ°€μ •λœ 값을 μ‚¬μš©ν•œλ‹€.