SQL ํด์ฆ๋ ํ๊ณ โฌ๏ธ
SQL ์ฟผ๋ฆฌ๋ฌธ์ ๋น์นธ์ ์ฑ์๋ฃ๋ ์ฐ์ต๋ ํด๋ณด๊ณ โฌ๏ธ
MY SQL์ ์ค์นํ์ฌ ๊ทธ ์์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค, ํ
์ด๋ธ ๋ฑ์ ๋ง๋ค์ด ์ง์ ๋์ผ๋ก ํ์ธ๋ ํด๋ณด์๋ค! โฌ๏ธ
CREATE DATABASE Practice CHARACTER SET UTF8;
๋ก Practice
๋ผ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ฑํ๊ณ
SHOW DATABASE;
๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์์ฑ์ด ๋์๋์ง ํ์ธํ์๋ค.
ํ์ธ ํ, ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ฌ๋ฌ๊ฐ ์์ด์ ๋ด๊ฐ ์์ฑํ Practice
๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฌ๋ฌ ์ฟผ๋ฆฌ๋ฌธ์ ์คํํ๋ ค๋ฉด ๊ทธ๊ฒ์ ์ฌ์ฉํด์ผํ๊ธฐ ๋๋ฌธ์
use Practice;
๋ก ๊ทธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์ ๊ทผํ์๋ค.
๊ทธ๋ฆฌ๊ณ SHOW TABLES;
์ ํ๋ฉด ์์ง ํ
์ด๋ธ์ ์์ฑํ์ง ์์๊ธฐ ๋๋ฌธ์ Empty set์ด๋ผ๋ ๋ง์ด ๋์จ๋ค.
CREATE TABLE user (
-> id int PRIMARY KEY AUTO_INCREMENT,
-> name varchar(255),
-> email varchar(255)
-> );`
๋ก user
๋ผ๋ ํ
์ด๋ธ์ ์์ฑํ์ฌ ๊ทธ ์์ ๊ฐ ํ์
๋ค์ ์ด์ ์์ฑํ์๋ค.
( ์ฌ๊ธฐ์ AUTO_INCREMENT โ ๋ฐ์ดํฐ๊ฐ ์ฝ์ ๋ ๋๋ง๋ค PK๋ฅผ 1์ฉ ์ฆ๊ฐํด์ฃผ๋ ์ญํ )
SHOW TABLES;
ํ๋ฉด ์ด๋ค ์ด๋ฆ์ ํ
์ด๋ธ์ด ์์ฑ๋์๋์ง ๋ณผ ์ ์๊ณ
desc user;
ํ๋ฉด ํด๋น user
ํ
์ด๋ธ ์ ์ฒด๋ฅผ ๋ณผ ์ ์๋ค.
( ์ฌ๊ธฐ์ desc โ describe )
ํ ์ด๋ธ์ ์ด์ ์์ฑํ์ผ๋,
INSERT INTO user(name, email) values ("hyunju", "wnguswn7/naver.com");
๋ก ๊ฐ ์ด์ ๊ฐ์ ๋ฃ์ด ๋ณด์๋ค.
( ์ด๋ฉ์ผ์ @๊ฐ ๋์ง ์์ /๋ก ๋์ฒด ํ๋ค! )
์ดํ, DESC user;
๋ก user
ํ
์ด๋ธ ์ ์ฒด๋ฅผ ์ดํด๋ณด๋ฉด ๊ฐ ๊ฐ์ด ์ ๋ค์ด๊ฐ ๊ฒ์ ํ์ธํ ์ ์๋ค.
์ด์ ํ ์ด๋ธ์ ์์ฑํ์ผ๋, ๋ฐฐ์ด ์ฟผ๋ฆฌ๋ฌธ์ ์ฌ์ฉํ์ฌ ๊ฐ์ ์กฐํํ ์ ์๋ค!! ๐
์ผ๋จ SELECT * FROM user;
๋ก user
ํ
์ด๋ธ์ ์ ์ฒด๋ฅผ ์กฐํํด ๋ณด์๊ณ ,
SELECT email FROM user;
๋ก user
ํ
์ด๋ธ์ email ํ๋๋ง ์ ํํ์ฌ ์กฐํํด ๋ณด์๋ค!
ALTER TABLE user MODIFY COLUMN gender varchar(255) NOT NULL;
์ด๋ ๊ฒ ์์ ํ๋ ค๊ณ ํ๋๋ฐ
์๊พธ Invalid use of NULL value
๋ผ๋ ์๋ฌ๊ฐ ๋ด๋ค.
์ด ๋ฌธ์ ์ ์์ธ์ gender column์ด ํ์ฌ null ๊ฐ์ ๊ฐ์ง๊ณ ์์ด ๋ฐ๋ก not null๋ก ๋ณ๊ฒฝํ ์ ์๋ ๊ฒ !
13-1. ๊ทธ๋์ update user set gender='male' where gender is null;
๋ก ์ null์ ์์์ ๊ฐ male
๋ก ๋ณ๊ฒฝํด์ฃผ๊ณ
13-2. ๋ค์ ALTER TABLE user MODIFY COLUMN gender varchar(255) NOT NULL;
๋ก ๊ฐ์ ๋ณ๊ฒฝํด์ฃผ์๋ค.
desc user;
๋ก user
ํ
์ด๋ธ์ ๋ณด๋ ๋ณ๊ฒฝ๋ ๊ฒ์ ์ ์ ์๋ค!ํ์คํ ์ง์ ๋ฌธ์ ๋ ํ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ง๋ค์ด๋ณด๋ ๊ทธ๋ฅ ๊ฐ๋
๋ง ์ธ์ธ ๋๋ณด๋ค ๋ ์ดํด๊ฐ ์ ๋๋ ๊ฒ ๊ฐ๋ค!
ํด์ฆ๋ ์ฐ์ต๋ ์๋ฒฝํ ์ ํด๋ด์ ๊ธฐ๋ถ์ด ์กฐํ ๐ป