๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
DataBase

SQL(DML, DDL, DCL) && ์‹ค์Šต(mysql, cli)

by ๋„์บ๋ฆฌ๐Ÿฑ 2022. 8. 2.
๋ฐ˜์‘ํ˜•

SQL์˜ ์ข…๋ฅ˜(โœ๏ธDML/โœ๏ธDDL/โœ๏ธDCL) *๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ณ„ํ•˜์ง€ ์•Š์€, ๋ฐ์ดํ„ฐ ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ๊ตฌ๋ณ„ํ•œ๋‹ค.

 

DML : ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์˜ ํ…Œ์ด๋ธ”์„ ์ง์ ‘ ์กฐ์ž‘ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๋งํ•จ

๐Ÿ‘‡ ์ƒ์„ธ ์„ค๋ช… ๐Ÿ˜Ž

๋”๋ณด๊ธฐ

Data Manipulation Language

- ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋ฅผ CRUDํ•˜๋Š” ๊ธฐ๋Šฅ์„ ํ•จ

 

SQL๋ฌธ

INSERT

UPDATE

DELETE

SELECT

๋ ˆ์ฝ”๋“œ ์ƒ์„ฑ, ์ฝ๊ธฐ, ๊ฐฑ์‹ , ์‚ญ์ œ

 

# ์‹ค์Šต

๐ŸŒฑ SELECT ์ปฌ๋Ÿผ๋ช… FROM ํ…Œ์ด๋ธ”๋ช… WHERE ์กฐ๊ฑด์ ˆ;

select Name form city where CountryCode='kor' ;

 

 

๐ŸŒฑ  INSERT INTO ํ…Œ์ด๋ธ”๋ช…(์ปฌ๋Ÿผ๋ช…) VALUES(๊ฐ’);

๋ชจ๋“  ์ปฌ๋Ÿผ์— ๋Œ€ํ•ด์„œ ์ง€์ •๋  ๊ฒฝ์šฐ "ํ…Œ์ด๋ธ”๋ช…(์ปฌ๋Ÿผ๋ช…)" ์ด ์—†์–ด๋„ ๋œ๋‹ค. ์ฆ‰ ์œ„์— SQL๋ฌธ์—์„œ

insert into city values (10000, 'Sample', 'KOR','Test',100000);

๋ผ๊ณ  ํ•ด๋„ ๋œ๋‹ค.

 

 

๐ŸŒฑ UPDATE ํ…Œ์ด๋ธ”๋ช… SET ์ปฌ๋Ÿผ๋ช…=๊ฐ’, ... WHERE ์กฐ๊ฑด์ ˆ;

city ํ…Œ์ด๋ธ”์—์„œ, ID๊ฐ€ 10000์ธ ์• ์˜ name์„ "SanokeRevised"๋กœ ๋ฐ”๊ฟ”๋ผ

 

๐ŸŒฑ DELETE  FROM ํ…Œ์ด๋ธ”๋ช… WHERE ์กฐ๊ฑด์ ˆ;

 

 

๐Ÿ”ฅ UPDATE์™€ DELETE ์‚ฌ์šฉ์‹œ ์ฃผ์˜ํ•  ์ !

 >> where ์ ˆ์— ๋งค์นญ๋˜๋Š” ๊ฐ’์ด ํ•˜๋‚˜์ผ ๋•Œ๋Š” ๋ฌธ์ œ๊ฐ€ ์—†์œผ๋‚˜, ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ ˆ์ฝ”๋“œ๊ฐ€ ๋งค์นญ๋  ๋–„๋Š” ๋ชจ๋“  ๋ ˆ์ฝ”๋“œ๊ฐ€ ์ˆ˜์ •๋˜๊ฑฐ๋‚˜ ์‚ญ์ œ๋  ์ˆ˜ ์žˆ์œผ๋‹ˆ ์›ํ•˜๋Š” ๋ ˆ์ฝ”๋“œ์ธ์ง€ ํ•˜๋‚˜์˜ ๋ ˆ์ฝ”๋“œ๊ฐ€ ๋งž๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•œ๋‹ค.

>> select ํ•˜๊ณ  update, select ํ•˜๊ณ  delete ํ•˜๋Š” ์Šต๊ด€์„ ๊ธธ๋Ÿฌ์•ผ ํ•œ๋‹ค!

 

 

 

๐ŸŒฑ ๐ŸŒฑ  DISTINCT

- Select๋ฌธ์˜ ๊ฒฐ๊ณผ์—์„œ ํŠน์ • ์ปฌ๋Ÿผ๋งŒ ์ถœ๋ ฅํ•  ๊ฒฝ์šฐ ์ค‘๋ณต๋œ ๊ฐ’๋“ค์ด ๋‚˜์˜ค๋ฉด ์ด๋ฅผ ์ œ๊ฑฐํ•ด์„œ ํ‘œ์‹œํ•˜๋Š” ๊ธฐ๋Šฅ

SELECT DISTINCT ์ปฌ๋Ÿผ๋ช…1, ์ปฌ๋Ÿผ๋ช…2, ... FROM ํ…Œ์ด๋ธ”๋ช…

ex. ๊ตญ๊ฐ€์ฝ”๋“œ๊ฐ€ 'KOR'์ธ ๋„์‹œ๋“ค์˜ ๊ตญ๊ฐ€์ฝ”๋“œ๋ฅผ ์ค‘๋ณต์ œ๊ฑฐํ•˜์—ฌ ํ‘œ์‹œํ•˜์‹œ์˜ค.

์ขŒ: disticnt , ์šฐ: ๊ทธ๋ƒฅ select

๋ณดํ†ต, ์ค‘๋ณต์„ ์ œ๊ฑฐํ•ด์„œ ์‹ค์ œ ๊ฐ’์ด ์–ผ๋งˆ๋‚˜ ๋‚˜์™”๋Š”์ง€ ํ™•์ธ ํ•  ๋–„ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค. 

 

 

๐ŸŒฑ ๐ŸŒฑ  ๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž(AND, OR, NOT)

- Select๋ฌธ์˜ ์กฐ๊ฑด์ ˆ์— ๋…ผ๋ฆฌ ์กฐ๊ฑด ์ ์šฉํ•ด์„œ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์—ฐ์‚ฐ์ž

SELECT * FROM ํ…Œ์ด๋ธ”๋ช… WHERE (NOT) ์กฐ๊ฑด1 AND/OR (NOT)์กฐ๊ฑด2 ... (not์€ !=)

ex. ๊ตญ๊ฐ€ ์ฝ”๋“œ๊ฐ€ 'KOR' ์ด๋ฉด์„œ  ์ธ๊ตฌ๊ฐ€ 100๋งŒ ์ด์ƒ์ธ ๋„์‹œ๋ฅผ ์ฐพ์•„๋ผ.

ex. ๊ตญ๊ฐ€ ์ฝ”๋“œ๊ฐ€ 'KOR', 'CHN', 'JPN'์ธ ๋„์‹œ๋ฅผ ์ฐพ์•„๋ผ. // ๊ตญ๊ฐ€ ์ฝ”๋“œ๊ฐ€ 'KOR'์ด ์•„๋‹ˆ๋ฉด์„œ ์ธ๊ตฌ 100๋งŒ ์ด์ƒ์ธ๊ฒƒ ์ฐพ์•„๋ผ 

 

 

๐ŸŒฑ ๐ŸŒฑ  ๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž(IN, BETWEEN)

- '~ ์ค‘์—์„œ' , '์–ด๋””์—์„œ ๋ถ€ํ„ฐ ~ ์–ด๋””๊นŒ์ง€' 

ex. city ํ…Œ์ด๋ธ”์—์„œ ๊ตญ๊ฐ€์ฝ”๋“œ๊ฐ€ 'KOR'์ด๊ณ  ์ธ๊ตฌ๊ฐ€ 100๋งŒ ์ด์ƒ 500๋งŒ ์ดํ•˜์ธ ๋„์‹œ๋ฅผ ์ฐพ์•„๋ผ.

ex. ๊ตญ๊ฐ€์ฝ”๋“œ๊ฐ€ 'KOR' 'CHN' 'JPN' ์ธ ๋„์‹œ๋ฅผ ์ฐพ์•„๋ผ.

 

 

๐ŸŒฑ ๐ŸŒฑ  ๊ฒฐ๊ณผ ์ •๋ ฌ (ORDER BY)

- select ๋ฌธ์˜ ๊ฒฐ๊ณผ ๊ฐ’์„ ํŠน์ • ์ปฌ๋Ÿผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ/๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ (๊ธฐ๋ณธ๊ฐ’์€ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ์ž„)

SELECT * FROM ํ…Œ์ด๋ธ”๋ช… WHERE ์กฐ๊ฑด์ ˆ ORDER BY ์ปฌ๋Ÿผ๋ช… desc/asc

(์ปฌ๋Ÿผ ์—ฌ๋Ÿฌ๊ฐœ์ด๋ฉด ์ˆœ์„œ๋Œ€๋กœ 1์ฐจ ์ •๋ ฌ, 2์ฐจ ์ •๋ ฌ .. )

ex. city ํ…Œ์ด๋ธ”์—์„œ ๊ตญ๊ฐ€์ฝ”๋“œ์™€ ์ธ๊ตฌ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋ผ! ๊ตญ๊ฐ€์ฝ”๋“œ๋ณ„ ์˜ค๋ฆ„ ์ฐจ์ˆœ, ๋™์ผ ๊ตญ๊ฐ€์ฝ”๋“œ ์ผ์‹œ์—๋Š” ์ธ๊ตฌ ์ˆ˜์˜ ์—ญ์ˆœ์œผ๋กœ ํ‘œ์‹œํ•ด๋ผ.

 

 

๐ŸŒฑ ๐ŸŒฑ   ๊ฒฐ๊ณผ๊ฐ’ ์ผ๋ถ€ ์กฐํšŒ

Select ์ปฌ๋Ÿผ๋ช…1, ์ปฌ๋Ÿผ๋ช…2, … from ํ…Œ์ด๋ธ”๋ช… where ์กฐ๊ฑด์ ˆ limit ์ˆซ์ž

mySQL์—์„œ๋Š” limit,  Oracle์—์„œ๋Š” ROWNUM, SQLServer์—์„œ๋Š” Top

ex. ๊ตญ๊ฐ€์ฝ”๋“œ๊ฐ€ ‘KOR’์ธ ๋„์‹œ๋“ค ์ค‘ ์ธ๊ตฌ์ˆ˜ ๋งŽ์€ ์ˆœ์„œ๋กœ ์ƒ์œ„ 10๊ฐœ๋งŒ ํ‘œ์‹œํ•˜์‹œ์˜ค.

Select * from city where CountryCode=’KOR’ ORDER BY desc limit 10

 

 

๐ŸŒฑ ๐ŸŒฑ ์ง‘ํ•ฉ ํ•จ์ˆ˜

ํ…Œ์ด๋ธ”์˜ ์ „์ฒด ๋ ˆ์ฝ”๋“œ๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํŠน์ • ์ปฌ๋Ÿผ์„ ์ ์šฉํ•ด์„œ ํ•œ ๊ฐœ์˜ ๊ฐ’์„ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜

  • Count() – ๋ ˆ์ฝ”๋“œ์˜ ๊ฐœ์ˆ˜ ๋ฆฌํ„ด,
  • avg() -์ปฌ๋Ÿผ๊ฐ’์˜ ํ‰๊ท , sum() – ์ปฌ๋Ÿผ๊ฐ’์˜ ํ•ฉ,
  • min(), Max() – ์ปฌ๋Ÿผ๊ฐ’์˜ ์ตœ์†Œ, ์ตœ๋Œ€
  • first(), last() - ์ฃผ์–ด์ง„ ORDER BY์ ˆ์— ์˜ํ•œ ๊ฐ’์ค‘ ์ฒซ๋ฒˆ์งธ๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค /์ฃผ์–ด์ง„ ORDER BY์ ˆ์— ์˜ํ•œ ๊ฐ’์ค‘ ๋งˆ์ง€๋ง‰

ex. City ํ…Œ์ด๋ธ”์—์„œ ๊ตญ๊ฐ€ ์ฝ”๋“œ๊ฐ€ ‘KOR’์ธ ๋„์‹œ๋“ค์˜ ์ธ๊ตฌ์ˆ˜ ์ดํ•ฉ/ ํ‰๊ท ์„ ๊ตฌํ•˜์‹œ์˜ค.

Select count(*) from city where ContryCode=’KOR’

 

๐ŸŒฑ ๐ŸŒฑ ์œ ์šฉํ•œ ํ•จ์ˆ˜

  • Length() : ๋ ˆ์ฝ”๋“œ์˜ ๋ฌธ์ž์—ด ์ปฌ๋Ÿผ์˜ ๊ธ€์ž์ˆ˜๋ฅผ ๋ฆฌํ„ด SELECT length(OGPLC) FROM IL_ITEM
  • Mid() : ๋ฌธ์ž์—ด์˜ ์ค‘๊ฐ„ ๋ถ€๋ถ„์„ ๋ฆฌํ„ด mid(์ปฌ๋Ÿผ,์‹œ์ž‘์ธ๋ฑ์Šค,.๊ธธ์ด)
  • Upper()/lower() : ๋ฌธ์ž์—ด์„ ๋Œ€๋ฌธ์ž/์†Œ๋ฌธ์ž๋กœ ๋ฆฌํ„ด
  • Round() : ๋ ˆ์ฝ”๋“œ์˜ ์ˆซ์ž ์ปฌ๋Ÿผ๊ฐ’์„ ๋ฐ˜์˜ฌ๋ฆผํ•ด์„œ ๋ฆฌํ„ด mid(์ปฌ๋Ÿผ,.๋ฐ˜์˜ฌ๋ฆผ ์ž๋ฆฌ์ˆ˜(0์ด ์ฒซ์งธ์ž๋ฆฌ))

Ex.

countryํ…Œ์ด๋ธ”์—์„œ ๋‚˜๋ผ ์•ž ์„ธ๊ธ€์ž ๋Œ€๋ฌธ์ž๋กœSELECT upper(mid(NAME,1,3)) FROM Country

countryํ…Œ์ด๋ธ”์—์„œ ๊ธฐ๋Œ€์ˆ˜๋ช…์„ ์†Œ์ˆ˜์  ์ฒซ์งธ์ž๋ฆฌ์—์„œ ๋ฐ˜์˜ฌ๋ฆผ: SELECT round(life,0)) FROM Country

 

 

๐ŸŒฑ ๐ŸŒฑ ๐ŸŒฑ JOIN

: ์„œ๋กœ ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์„ ๊ณตํ†ต ์ปฌ๋Ÿผ ๊ธฐ์ค€์œผ๋กœ ํ•ฉ์น˜๋Š” ํ…Œ์ด๋ธ” ๋‹จ์œ„ ์—ฐ์‚ฐ.

์กฐ์ธ์˜ ๊ฒฐ๊ณผ ํ…Œ์ด๋ธ”์€ ์ด์ „ ํ…Œ์ด๋ธ”์˜ ์ปฌ๋Ÿผ์ˆ˜์˜ ํ•ฉ๊ณผ ๊ฐ™๋‹ค.

(cityํ…Œ์ด๋ธ”์— ์ปฌ๋Ÿผ์ด 10๊ฐœ๊ฐ€ ์žˆ๊ณ , country์— ์ปฌ๋Ÿผ์ด 5๊ฐœ๊ฐ€ ์žˆ๋‹ค๋ฉด join ํ›„, 15๊ฐœ์˜ ์ปฌ๋Ÿผ์„ ๊ฐ€์ง€๋Š” ํ…Œ์ด๋ธ”์ด ๋œ๋‹ค.)

 

Select * from ํ…Œ์ด๋ธ”1 join ํ…Œ์ด๋ธ”2 on ํ…Œ์ด๋ธ”1.์ปฌ๋Ÿผ๋ช… = ํ…Œ์ด๋ธ”2.์ปฌ๋Ÿผ๋ช…

์กฐ์ธ์‹œ ์„œ๋กœ ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์— ๊ฐ™์€ ์ปฌ๋Ÿผ๋ช…์ด ์กด์žฌํ•˜๋ฉด ๊ตฌ๋ถ„์„ ์œ„ํ•ด ํ…Œ์ด๋ธ”๋ช….์ปฌ๋Ÿผ๋ช…์œผ๋กœ ์‚ฌ์šฉํ•ด์„œ ํ‘œ์‹œํ•œ๋‹ค.

 

Ex. cityํ…Œ์ด๋ธ”๊ณผ country ํ…Œ์ด๋ธ”์„ ์กฐ์ธํ•˜์‹œ์˜ค. (city.CountryCode = country.Code)

SELECT * FROM city Join CountryOn city.CountryCode = country.Code;

 

Ex. ๊ตญ๊ฐ€์ฝ”๋“œ์™€ ํ•ด๋‹น ๋‚˜๋ผ์˜ GNP๋ฅผ ํ‘œ์‹œ ํ•˜์‹œ์˜ค.

SELECT city.CountryCode, country.GNP FROM city Join CountryOn city.CountryCode = country.Code;

SELECT DISTINCT city.CountryCode, country.GNP FROM city Join CountryOn city.CountryCode = country.Code;

 

JOIN์˜ ์ข…๋ฅ˜

: ์กฐ์ธ์‹œ NULL๊ฐ’์„ ํ—ˆ์šฉํ•˜๋Š” ๋‚ด๋ถ€์กฐ์ธ(null๊ฐ’ ๋ถˆ๊ฐ€)๊ณผ ์™ธ๋ถ€์กฐ์ธ(null๊ฐ’ ํ—ˆ์šฉ)์œผ๋กœ ๊ตฌ๋ถ„

INNER JOIN ์กฐ์ธ์‹œ NULL๊ฐ’์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Œ
LEFT JOIN ์กฐ์ธ์‹œ JOIN์˜ ์™ผ์ชฝ ํ…Œ์ด๋ธ”์˜ NULL๊ฐ’์„ ํฌํ•จํ•ด์„œ ํ‘œ์‹œ
A join B ์ผ๋•Œ, A์—์„œ null๊ฐ’์ด ์ œ์™ธ๋˜๋ฉด ์•ˆ๋˜๋Š” ์ƒํ™ฉ์— ์‚ฌ์šฉ
RIGHT JOIN ์กฐ์ธ์‹œ JOIN์˜ ์˜ค๋ฅธ์ชฝ ํ…Œ์ด๋ธ”์˜ NULL๊ฐ’์„ ํฌํ•จํ•ด์„œ ํ‘œ์‹œ
A join B ์ผ๋•Œ, B์—์„œ null๊ฐ’์ด ์ œ์™ธ๋˜๋ฉด ์•ˆ๋˜๋Š” ์ƒํ™ฉ์— ์‚ฌ์šฉ
FULL JOIN MYSQL์€ ์ง€์›ํ•˜์ง€ ์•Š์Œ

Ex. country ํ…Œ์ด๋ธ”์—๋Š” ์กด์žฌํ•˜์ง€๋งŒ ๋„์‹œ๊ฐ€ ํ•˜๋‚˜๋„ ์—†๋Š” ๋‚˜๋ผ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์‹œ์˜ค. ( = country ๊ฐ’์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š” city๋Š” ํฌํ•จ)

SELECT COUNT(*) FROM city left join country on city.CountryCode = country.Code

Right join์ด๋ฉด, country ์ค‘ ๋„์‹œ ์ˆ˜๊ฐ€ ํ•˜๋‚˜๋„ ์—†๋Š” country๋Š” ํฌํ•จ

 

 

๐ŸŒฑ ๐ŸŒฑ  ๋ณ„๋ช… ALIAS

์ฟผ๋ฆฌ ๊ฒฐ๊ณผ ์ƒ์„ฑ์‹œ, ์ปฌ๋Ÿผ๋ช…์— ๋Œ€ํ•œ ๋ณ„๋ช…์„ ์‚ฌ์šฉํ•ด ํ‘œ์‹œํ•˜๋Š” ๊ธฐ๋Šฅ. (์กฐ์ธํ•  ๋•Œ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค.)

SELECT ํ…Œ์ด๋ธ”๋ช…1.์ปฌ๋Ÿผ๋ช…1 AS ๋ณ„๋ช…1, ํ…Œ์ด๋ธ”๋ช…2.์ปฌ๋Ÿผ๋ช…2 AS ๋ณ„๋ช…2 FROM ~

Ex. City ์™€ country ์กฐ์ธํ•ด์„œ ๊ตญ๊ฐ€์ฝ”๋“œ๊ฐ€ ‘kor’์•ˆ ๋‚˜๋ผ์˜ ์ถ•์•ฝํ‘œ์‹œ๋ช…๊ณผ ์ •์‹๋ช…์„ ํ‘œ์‹œํ•ด๋ผ!

SELECT city.countryCode AS ABBR, country.Name AS fullName FROM city WHERE city.CountryCode ='KOR'

 

 

๐ŸŒฑ ๐ŸŒฑ  ๋ทฐ VIEW

์ฟผ๋ฆฌ ๊ฒฐ๊ณผ ๊ฐ’์„ ์ž„์‹œํ…Œ์ด๋ธ”๋กœ ์ €์žฅํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. (์‚ฌ์šฉ ๋๋‚˜๋ฉด DROP VIEW๋กœ ์‚ญ์ œ ํ•ด์•ผ ํ•œ๋‹ค.)

CREATE VIEW ๋ทฐ๋ช… AS ( SELECT… ์ฟผ๋ฆฌ) : ( SELECT… ์ฟผ๋ฆฌ) ๊ฒฐ๊ณผ ๊ฐ’์„ ํ…Œ์ด๋ธ” ๋ทฐ๋กœ ๋งŒ๋“ค์–ด๋ผ!

 

EX.๊ตญ๊ฐ€ ์ฝ”๋“œ๊ฐ€ “KOR”์ธ ๋„์‹œ๋“ค์˜ ๊ตญ๊ฐ€์ฝ”๋“œ์™€ ๊ตญ๊ฐ€๋ช…(Name)์„ ๋ทฐ๋กœ ์ƒ์„ฑํ•˜์‹œ์˜ค.

CREATE VIEW sampleView as select city.countryCode As Abbr, country.Name As FulName

from city join country

on city.CountryCode = country.Code where city.CountryCode = ‘KOR’;

 

๋ทฐ ๊ฒฐ๊ณผ๋ฅผ select * from sampleView; ๋กœ ํ™•์ธ ํ•˜๋ฉด ๋œ๋‹ค

DROP VIEW

 

 

๐ŸŒฑ ๐ŸŒฑ ๐ŸŒฑ SELECT INTO

: ์ฟผ๋ฆฌ๊ฒฐ๊ณผ๋ฅผ ์ƒˆ ํ…Œ์ด๋ธ”๋กœ ๋งŒ๋“ ๋‹ค.

MYSQL์—์„œ๋Š” CREATE TABLE ํ…Œ์ด๋ธ”๋ช… SELECT * FROM ํ…Œ์ด๋ธ”๋ช…

: ๊ธฐ์กด์— ์กด์žฌํ•˜์ง€ ์•Š๋Š” ํ…Œ์ด๋ธ”์ด ์ƒˆ๋กœ ์ƒ์„ฑ๋œ๋‹ค. (์ผ์ข…์˜ ๋ทฐ์™€ ๊ฐ™์€ ํšจ๊ณผ)

Ex. cityํ…Œ์ด๋ธ”์˜ ๋‚ด์šฉ์—์„œ ๊ตญ๊ฐ€์ฝ”๋“œ๊ฐ€ ‘KOR’์ธ ๋„์‹œ๋ฅผ ์ฐพ์•„ city_new ํ…Œ์ด๋ธ”์— ๋„ฃ์œผ์‹œ์˜ค.

CREATE TABLE city_new SELECT * from city

 

 

๐ŸŒฑ ๐ŸŒฑ ๐ŸŒฑ INSERT INTO SELECT

: ์ฟผ๋ฆฌ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ์กด์˜ ํ…Œ์ด๋ธ”์— ์ถ”๊ฐ€ํ•œ๋‹ค. (๊ธฐ์กด ํ…Œ์ด๋ธ”์ด ์กด์žฌํ•ด์•ผ ํ•จ)

INSERT INTO ํ…Œ์ด๋ธ”๋ช…1 SELECT * FROM ํ…Œ์ด๋ธ”๋ช…2 WHERE ์กฐ๊ฑด์ ˆ

: SELECT ํ•˜๋Š” ํ…Œ์ด๋ธ”๊ณผ INSERT ํ•˜๋Š” ํ…Œ์ด๋ธ”์€ ๋™์ผํ•œ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค.

: ๋‘๊ฐœ์˜ ๋ณ„๋„ ์ฟผ๋ฆฌ๋ฅผ ํ•˜๋‚˜๋กœ ํ•ฉ์นจ

Ex. City ํ…Œ์ด๋ธ”์˜ ๋‚ด์šฉ์—์„œ ๊ตญ๊ฐ€์ฝ”๋“œ๊ฐ€ ‘KOR’์ธ ๋„์‹œ๋ฅผ ์ฐพ์•„ city_kor ํ…Œ์ด๋ธ”์— ๋„ฃ์œผ์‹œ์˜ค.

 

 

 

๐ŸŒฑ ๐ŸŒฑ ๐ŸŒฑ CASE … WHEN …END

: SQL์˜ ์กฐ๊ฑด๋ฌธ(if/switch)์— ํ•ด๋‹นํ•œ๋‹ค.

CASE WHEN ์กฐ๊ฑด๊ฐ’1 THEN …

           WHEN ์กฐ๊ฑด๊ฐ’2 THEN…

                      ELSE…

END

Ex. City ํ…Œ์ด๋ธ”์—์„œ ๋„์‹œ๋ช…์ด 3์ž๊ฐ€ ๋„˜์–ด๊ฐ€๋Š” ๊ฒฝ์šฐ์— ์•ž์ชฝ ์„ธ ์ž๋งŒ ๋Œ€๋ฌธ์ž๋กœ ์ถœ๋ ฅํ•˜๊ณ  ๋„์‹œ์˜ ์ธ๊ตฌ๋ฅผ ๊ฐ™์ด ํ‘œ์‹œํ•˜์‹œ์˜ค.

 

SELECT CASE WHEN length(NAME)>3 THEN upper(mid(NAME,1,3))

WHEN LENGTH(NAME) <=3 THEN NAME

END, POPULATION FROM City;

 

 

 

 


DDL :  ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ” ์ƒ์„ฑ, ์ˆ˜์ •, ์‚ญ์ œ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ๋งํ•จ

๐Ÿ‘‡ ์ƒ์„ธ ์„ค๋ช… ๐Ÿ˜Ž

๋”๋ณด๊ธฐ

Data Definition Language

- ํ…Œ์ด๋ธ” ์Šคํ‚ค๋งˆ๋ฅผ ์ •์˜, ์ˆ˜์ •ํ•˜๋Š” ๊ธฐ๋Šฅ(ํ…Œ์ด๋ธ” ์ƒ์„ฑ/ ์ปฌ๋Ÿผ ์ถ”๊ฐ€/ ํƒ€์ž… ๋ณ€๊ฒฝ/ ๊ฐ์ข… ์ œ์•ฝ์กฐ๊ฑด ์ง€์ •/์ˆ˜์ • ๋“ฑ)

 

SQL๋ฌธ

CREATE

DROP

ALTER 


DCL : ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ”์— ์ ‘๊ทผ ๊ถŒํ•œ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ๋งํ•จ 

๐Ÿ‘‡ ์ƒ์„ธ ์„ค๋ช… ๐Ÿ˜Ž

๋”๋ณด๊ธฐ

Data Control Language

- ๋””๋น„๋‚˜ ํ…Œ์ด๋ธ” ์ ‘๊ทผ๊ถŒํ•œ์ด๋‚˜, CRUD ๊ถŒํ•œ์„ ์ •์˜ํ•˜๋Š” ๊ธฐ๋Šฅ

- ํŠน์ • ์‚ฌ์šฉ์ž์—๊ฒŒ ํ…Œ์ด๋ธ”์˜ ์กฐํšŒ ๊ถŒํ•œ ํ—ˆ๊ฐ€/ ๊ธˆ์ง€ํ•˜๋Š” ๊ธฐ๋Šฅ

 

SQL๋ฌธ

GRANT

REVOKE

 


SQL : Structured Query Language

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€