๐ก SQL(Structed Query Language) ๋?
๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ ๋ฐ์ดํฐ ๊ด๋ฆฌ๋ฅผ ์ํ ์ฟผ๋ฆฌ ์ธ์ด๋ฅผ SQL(Structed Query Language)์ด๋ผ๊ณ ํ๋ค.
๋ชจ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๊ทธ ์ข ๋ฅ์ ๊ด๊ณ์์ด SQL(Structed Query Language)์ ํตํด์ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ ์ ์๋ค.
๐ก MySQL ๋ช ๋ น๋ฌธ ์ ๋ฆฌ
-- MySQL ๋ฒ์ ํ์ธ
mysql> select version();
-- ์์ฑ๋์ด ์๋ DB ๋ชฉ๋ก ํ์ธ
mysql> show databases;
-- DB ๋ชฉ๋ก์ ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ํ
mysql> use 'DB ๋ช
';
-- ์ ํํ DB์ ์กด์ฌํ๋ table ๋ชฉ๋ก ์ถ๋ ฅ
mysql> show tables;
-- ํน์ ํ
์ด๋ธ์ ๊ตฌ์กฐ ์ถ๋ ฅ
mysql> desc '์ถ๋ ฅํ๊ณ ์ ํ๋ ํ
์ด๋ธ๋ช
';
-- ํ
์ด๋ธ์์์ ์ ํ์ ๋ฐ์ดํฐ ์กฐํ
mysql> select '์กฐํํ๊ณ ์ ํ๋ ํ๋๋ช
1', '์กฐํํ๊ณ ์ ํ๋ ํ๋๋ช
2' from 'table๋ช
';
-- ์ ์ ์ข
๋ฃ
mysql> exit
mysql> \q
-- DB ์์ฑ
mysql> create database '์์ฑํ DB๋ช
'
-- table ์์ฑ
mysql> create table 'ํ
์ด๋ธ๋ช
' (
'์ด1' ๋ฐ์ดํฐ_์ ํ [์ด1_์ ์ฝ์กฐ๊ฑด],
'์ด2' ๋ฐ์ดํฐ_์ ํ [์ด2_์ ์ฝ์กฐ๊ฑด],
...
);
-- table ์์์ ์ฃผ ํค ๋ณ๊ฒฝ
mysql> alter table '๋ณ๊ฒฝ์ด ๋ฐ์ํ ํ
์ด๋ธ๋ช
' add primary key('์ฃผ ํค๋ก ์ค์ ํ ํ๋๋ช
');
-- table ์ญ์
mysql> drop table '์ญ์ ํ ํ
์ด๋ธ๋ช
';
-- ํน์ ํ
์ด๋ธ์ ๋ชจ๋ ๋ ์ฝ๋(Data) ์กฐํ
mysql> select * from 'ํ
์ด๋ธ๋ช
';
-- ํ
์ด๋ธ์ ๋ฐ์ดํฐ ๋ฑ๋ก
mysql> insert into 'ํ
์ด๋ธ๋ช
'(ํ๋๋ช
1, ํ๋๋ช
2, ...) values ('๊ฐ1', '๊ฐ2', ...);
mysql> insert into
-> 'ํ
์ด๋ธ๋ช
'
-> values('๊ฐ1', '๊ฐ2',
-> ...
-> );
-- ํ
์ด๋ธ์ ๋ฑ๋ก๋ ๋ฐ์ดํฐ ์์
mysql> update 'ํ
์ด๋ธ๋ช
' set 'ํ๋๋ช
' = '๋ณ๊ฒฝ ํ ๊ฐ' where 'ํ๋๋ช
' = '๋ณ๊ฒฝ ์ ๊ฐ'
-- ํ
์ด๋ธ์ ๋ฑ๋ก๋ ๋ฐ์ดํฐ ์ญ์
mysql> delete from 'ํ
์ด๋ธ๋ช
' where 'ํ๋๋ช
' = '์กฐ๊ฑด';
-- ์ ์ฒด ๋ฐ์ดํฐ(๋ ์ฝ๋) ์ญ์
mysql> delete from 'ํ
์ด๋ธ๋ช
';
-- ํ
์ด๋ธ์์์ ๋ฐ์ดํฐ ๊ฒ์ ๋ช
๋ น๋ฌธ
mysql> select '์ด1', '์ด2', ... from 'ํ
์ด๋ธ๋ช
' where '์กฐ๊ฑด';
-- ๋จ์ผ ์ซ์ ์กฐ๊ฑด์ ๋ถ/๋ฑํธ๋ก ํํ
where age >= 40;
-- ๋ฌธ์/๋ฌธ์์ด ์กฐ๊ฑด์ ์์๋ฐ์ดํ(' ')๋ก ํํ
where gender = 'W';
where name = 'ํ๊ธธ๋';
-- ๋ค์ค ์กฐ๊ฑด์ 'and'๋ฅผ ์ฌ์ฉํด์ ํํ
where age >= 10 and age < 40;
-- ๋ถ๋ถ ์กฐ๊ฑด์ 'like'์ '%', '_' ๊ธฐํธ๋ฅผ ์ฌ์ฉํ์ฌ ํํ
where name like '๊น%'; # ์ด ๊ฒฝ์ฐ ์ฑ์ด ๊น์จ์ธ ์ฌ๋์ ์ ๋ณด๊ฐ ์ถ๋ ฅ๋จ
where name like '_์ง%'; # ์ด ๊ฒฝ์ฐ ๊ฐ์ด๋ฐ ์ด๋ฆ์ด '์ง'์ธ ์ฌ๋์ ์ ๋ณด๊ฐ ์ถ๋ ฅ
-- ๋ฐ์ดํฐ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ ๋ช
๋ น
mysql> select '์ด1', '์ด2', ... from 'ํ
์ด๋ธ๋ช
' order by '์ ๋ ฌ ๊ธฐ์ค์ด ๋๋ ์ด';
-- ๋ฐ์ดํฐ ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ ๋ช
๋ น
mysql> select '์ด1', '์ด2', ... from 'ํ
์ด๋ธ๋ช
' order by '์ ๋ ฌ ๊ธฐ์ค์ด ๋๋ ์ด' desc;