๐Ÿ“‹

1. MySQL-1

0. ๋ฐ”๋กœ ์‹ค์Šต์œผ๋กœ ๊ฐ€์„ธ์š”.1. DB2. DB, RDB, DBMS, RDBMS3. ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ตฌ์„ฑ ์š”์†Œ3.1 ํ‚ค์˜ ๊ฐœ๋… ๋ฐ ์ข…๋ฅ˜3.2 ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ข…๋ฅ˜4. SQL(Structured Query Language)5. SQL ๋ช…๋ น์–ด์˜ ๋ถ„๋ฅ˜6. Data ๋ถ„์„ ๊ณผ์ •7. ์ •ํ˜• ๋ฐ์ดํ„ฐ์™€ ๋น„์ •ํ˜• ๋ฐ์ดํ„ฐ8. CRUD9. ํ™ˆํŽ˜์ด์ง€๋ฅผ ์ œ์ž‘ํ•œ๋‹ค๋ฉด!10. ๋‹ค์Œ ๋ฌด๋ฃŒ ๊ฐ•์˜ ์ถ”์ฒœ(์‹ค์Šต) ํ™˜๊ฒฝ์„ค์ •(์‹ค์Šต) SELECT Statement(์‹ค์Šต) SELECT DISTINCT Statement(์‹ค์Šต) ORDER BY(์‹ค์Šต) AS(์‹ค์Šต) ์‚ฐ์ˆ ์—ฐ์‚ฐ(์‹ค์Šต) ์—ฐ๊ฒฐ ์—ฐ์‚ฐ์ž(์‹ค์Šต) ๋…ผ๋ฆฌ ์—ฐ์‚ฐ(์‹ค์Šต) BETWEEN ์—ฐ์‚ฐ(์‹ค์Šต) IN ์—ฐ์‚ฐ(์‹ค์Šต) LIKE ์—ฐ์‚ฐ(์‹ค์Šต) IS NULL(์‹ค์Šต) bit ๋‹จ์œ„ ๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž(์‹ค์Šต) WHERE(์‹ค์Šต) INSERT(์‹ค์Šต) Null Values ์ฐพ์•„๋‚ด๊ธฐ(์‹ค์Šต) UPDATE(์‹ค์Šต) DELETE(์‹ค์Šต) TOP๊ณผ LIMIT(์‹ค์Šต ์•ˆํ•จ) CREATE, DROP(์‹ค์Šต ์•ˆํ•จ) SHOW, DESC
ย 

0. ๋ฐ”๋กœ ์‹ค์Šต์œผ๋กœ ๊ฐ€์„ธ์š”.

์ด๋ก ์ ์ธ ๋ถ€๋ถ„์„ ๊ฑด๋„ˆ๋›ฐ์‹œ๊ณ , ๋‚˜์ค‘์— ๋ณด์„ธ์š”. (์‹ค์Šต)์ด๋ผ๊ณ  ๋˜์–ด์žˆ๋Š” ๋ถ€๋ถ„์œผ๋กœ ๋ฐ”๋กœ ๊ฐ€์…จ๋‹ค๊ฐ€ ๋‚˜์ค‘์— ์ด๋ก ์ด ๊ถ๊ธˆํ•˜์‹œ๋‹ค๋ฉด ๋‹ค์‹œ ๋Œ์•„์˜ค์„ธ์š”.

1. DB

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(์˜์–ด: database, DB)๋Š” ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์ด ๊ณต์œ ํ•˜์—ฌ ์‚ฌ์šฉํ•  ๋ชฉ์ ์œผ๋กœ ์ฒด๊ณ„ํ™”ํ•ด ํ†ตํ•ฉ, ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ ์ง‘ํ•ฉ์ด๋‹ค. ์ž‘์„ฑ๋œ ๋ชฉ๋ก์œผ๋กœ์จ ์—ฌ๋Ÿฌ ์‘์šฉ ์‹œ์Šคํ…œ๋“ค์˜ ํ†ตํ•ฉ๋œ ์ •๋ณด๋“ค์„ ์ €์žฅํ•˜์—ฌ ์šด์˜ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต์šฉ ๋ฐ์ดํ„ฐ๋“ค์˜ ๋ฌถ์Œ์ด๋‹ค. - Wikidipia
ย 
์ฝ์–ด๋„ ๋ฌด์Šจ ๋œป์ธ์ง€ ์ž˜ ๋ชจ๋ฅด์‹œ๊ฒ ์ฃ ? ์ด๋ ‡๊ฒŒ ๊ธฐ์–ตํ•ด ์ฃผ์„ธ์š”!
๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๊ณต๊ฐ„!
ย 

2. DB, RDB, DBMS, RDBMS

  • DB โ†’ DBMS
  • RDB โ†’ RDBMS
RDBMS(stands for Relational Database Management System)๋Š” DB๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. TOP3 ์˜คํ”ˆ์†Œ์Šค RDBMS๋Š” MySQL, PostgreSQL, SQLite์ž…๋‹ˆ๋‹ค. ์˜คํ”ˆ์†Œ์Šค๊ฐ€ ์•„๋‹Œ ๊ฒƒ์—์„œ๋Š” Oracle์ด ๋…๋ณด์ ์ž…๋‹ˆ๋‹ค.
ย 

3. ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ตฌ์„ฑ ์š”์†Œ

์—ฌ๊ธฐ์„œ๋ถ€ํ„ฐ๋Š” ์ „๋ฌธ ์šฉ์–ด๊ฐ€ ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค. ํ˜น์‹œ ์‹ค์Šต์„ ์•ˆํ•˜๊ณ  ์˜ค์…จ๋‹ค๋ฉด ๊ผญ ์‹ค์Šต์„ ์ง„ํ–‰ํ•œ ์ดํ›„์— ์ด ์ฑ•ํ„ฐ๋ฅผ ๋ณด์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.
  • TABLE(ํ–‰, ์—ด), VIEW(๋ฐ์ดํ„ฐ๋ฅผ ์„ ํƒํ•˜์—ฌ ๋งŒ๋“  ๊ฐ€์ƒ์˜ ๋ถ€๋ถ„ ์ง‘ํ•ฉ), INDEX(์ฃผ์†Œ), SEQUENCE(์‹œํ€€์Šค, ๊ณ ์œ ๋ฒˆํ˜ธ ์ž๋™์ƒ์„ฑ), SYNONYM(์‹œ๋…ธ์ž„, ๊ฐ์ฒด์˜ ๋ณ„์นญ) ๋“ฑ์˜ ๊ฐ์ฒด๋กœ ๊ตฌ์„ฑ
  • ENTITY, RELATIONE๋“ค์˜ ์ง‘ํ•ฉ
์ถœ์ฒ˜ : ์ œ์ฃผ์ฝ”๋”ฉ๋ฒ ์ด์Šค์บ ํ”„ Notion๊ฐ•์ขŒ์ถœ์ฒ˜ : ์ œ์ฃผ์ฝ”๋”ฉ๋ฒ ์ด์Šค์บ ํ”„ Notion๊ฐ•์ขŒ
์ถœ์ฒ˜ : ์ œ์ฃผ์ฝ”๋”ฉ๋ฒ ์ด์Šค์บ ํ”„ Notion๊ฐ•์ขŒ
  • ํŠœํ”Œ(Tuple)์€ ํ…Œ์ด๋ธ”์˜ ํ–‰์ž…๋‹ˆ๋‹ค.
  • ์†์„ฑ(Attribute)์€ HTML๋กœ ๋”ฐ์ง€์ž๋ฉด Table Heading ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ํ•™๋ฒˆ, ์ด๋ฆ„, ์ฃผ์†Œ, ์ „ํ™”๋ฒˆํ˜ธ๊ฐ€ ์†์„ฑ์ด์ฃ .
  • ๋„๋ฉ”์ธ(Domain)์€ ํ•˜๋‚˜์˜ ์†์„ฑ์—์„œ ์ทจํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ’์˜ ๋ฒ”์œ„๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์œ„์—์„œ๋Š” ์‹ ์ฒญ ๊ณผ๋ชฉ์—์„œ ์ „์ฒด ๊ณผ๋ชฉ์˜ ๋ฒ”์œ„๋ฅผ ์–˜๊ธฐํ•ฉ๋‹ˆ๋‹ค.
  • ์ฐจ์ˆ˜(Degree)๋Š” ์†์„ฑ์˜ ๊ฐœ์ˆ˜์ž…๋‹ˆ๋‹ค. ํ•™์ƒ ๋ฆด๋ ˆ์ด์…˜์—์„œ๋Š” ํ•™๋ฒˆ, ์ด๋ฆ„, ์ฃผ์†Œ, ์ „ํ™”๋ฒˆํ˜ธ์ด๋‹ˆ ์ด 4๊ฐœ๊ฐ€ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • ๊ธฐ์ˆ˜(Cardinality)๋Š” ํŠœํ”Œ์˜ ๊ฐœ์ˆ˜์ž…๋‹ˆ๋‹ค. ์œ„์—์„œ๋Š” ์–ดํŠธ๋ฆฌ๋ทฐํŠธ๋ฅผ ์ œ์™ธํ•˜๊ณ  ์ด 5๊ฐœ์˜ ํŠœํ”Œ์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

3.1 ํ‚ค์˜ ๊ฐœ๋… ๋ฐ ์ข…๋ฅ˜

  • ๊ธฐ๋ณธํ‚ค๋Š” ๋ฉ”์ธ์œผ๋กœ ์‚ฌ์šฉํ•  ํ‚ค๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. ๊ณ ์œ ํ•œ(์œ ์ผํ•œ) ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ๋‚˜, ๊ณ„์ขŒ๋ฒˆํ˜ธ, ์ „ํ™”๋ฒˆํ˜ธ ๋“ฑ์„ ๊ธฐ๋ณธํ‚ค๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธํ‚ค๋Š” NULL์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • ํ›„๋ณดํ‚ค๋Š” ๊ธฐ๋ณธํ‚ค๋ฅผ ์ œ์™ธํ•˜๊ณ  ๊ณ ์œ ํ•œ ํ‚ค๋“ค์„ ๋งํ•ฉ๋‹ˆ๋‹ค.
  • ์™ธ๋ž˜ํ‚ค๋Š” ๊ด€๊ณ„๋˜์–ด ์žˆ๋Š” ํ…Œ์ด๋ธ”์—์„œ ์ฐธ๊ณ ํ•˜๊ณ  ์žˆ๋Š” ํ‚ค๋ฅผ ์–˜๊ธฐํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ํ•™์ƒ ๋ฆด๋ ˆ์ด์…˜๊ณผ ์ˆ˜๊ฐ•์‹ ์ฒญ ๊ณผ๋ชฉ ๋ฆด๋ ˆ์ด์…˜์€ ์„œ๋กœ ํ•™๋ฒˆ์œผ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์ฃ .

3.2 ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ข…๋ฅ˜

  • ๊ณ„์ธตํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(1:N)
  • ๋งํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(N:M)
  • ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(๋‹จ์ˆœํ•œ ํ‘œ ํ˜•ํƒœ์˜ ์ƒํ˜ธ ๊ด€๊ณ„, 1:1, 1:N, N:M๊ด€๊ณ„ ํ‘œํ˜„)
  • ๊ฐ์ฒด ์ง€ํ–ฅํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
ย 

4. SQL(Structured Query Language)

SQL์€ ์Šคํ† ๋ฆฌ์ง€ ์–ธ์–ด์˜ ํ‘œ์ค€์ž…๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์ด ๋งŒ์•ฝ MySQL, MsSQL, Oracle, Postgres ๋“ฑ์˜ DB๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์–ด๋–ค ํ”„๋กœ์ ํŠธ๋ฅผ ํ•œ๋‹ค๋ฉด SQL์„ ๋‹ค๋ฃจ์‹ค ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
ํ•˜์ง€๋งŒ ๋Œ€๋ถ€๋ถ„์˜ ๊ฐ•์ขŒ๋“ค์ด '์„ค์น˜'๋ถ€ํ„ฐ SQL ๊ฐ•์˜๋ฅผ ์‹œ์ž‘ํ•˜๋Š”๋ฐ, ์„ค์น˜ํ•˜๋‹ค๊ฐ€ ์ง€์น˜์‹œ๋Š” ๋ถ„๋“ค์ด ๋งŽ์œผ์‹ญ๋‹ˆ๋‹ค. ์ด ์ˆ˜์—…์€ ๋ณธ์งˆ์— ์ง‘์ค‘ํ•ฉ๋‹ˆ๋‹ค. SQL๋งŒ ๋ฐฐ์›Œ๋ด…์‹œ๋‹ค. ๊ทธ๋ ‡๋‹ค๊ณ  ์ด๋ก ์„ ์ „ํ˜€ ์•ˆํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๊ณ , ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰ ์ฑ•ํ„ฐ์—์„œ ๋‹ค๋ค„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
ย 
SELECT * FROM Customers;
ย 

5. SQL ๋ช…๋ น์–ด์˜ ๋ถ„๋ฅ˜

์ค‘์š”ํ•œ ๊ฒƒ์€ ๊ตต์€ ๊ธ€์”จ๋กœ ํ•ด๋‘์—ˆ์œผ๋‹ˆ, ์ถฉ๋ถ„ํžˆ ์ˆ™๋ จ๋˜๋„๋ก ์—ฐ์Šตํ•ด๋ณด์„ธ์š”.
  • ๋ฐ์ดํ„ฐ ์กฐ์ž‘์–ด(DML)
    • SELECT
    • INSERT
    • UPDATE
    • DELETE
  • ๋ฐ์ดํ„ฐ ์ •์˜์–ด(DDL)
    • CREATE DATABASE
    • CREATE TABLE
    • CREATE INDEX
    • ALTER DATABASE
    • ALTER TABLE
    • DROP TABLE
    • DROP INDEX
    • RENAME
    • TRUNCATE
  • ๋ฐ์ดํ„ฐ ์ œ์–ด์–ด(DCL)
    • GRANT : ๊ถŒํ•œ ๋ถ€์—ฌ
    • REVOKE : ๊ถŒํ•œ ์ œ๊ฑฐ
  • ํŠธ๋žœ์ ์…˜ ์ œ์–ด์–ด(TCL)
    • COMMIT
    • ROLLBACK
    • SAVEPOINT
ย 

6. Data ๋ถ„์„ ๊ณผ์ •

์ถœ์ฒ˜ : ์ œ์ฃผ์ฝ”๋”ฉ๋ฒ ์ด์Šค์บ ํ”„ ๋ฐ์ดํ„ฐ๋ถ„์„ ๊ฐ•์ขŒ์ถœ์ฒ˜ : ์ œ์ฃผ์ฝ”๋”ฉ๋ฒ ์ด์Šค์บ ํ”„ ๋ฐ์ดํ„ฐ๋ถ„์„ ๊ฐ•์ขŒ
์ถœ์ฒ˜ : ์ œ์ฃผ์ฝ”๋”ฉ๋ฒ ์ด์Šค์บ ํ”„ ๋ฐ์ดํ„ฐ๋ถ„์„ ๊ฐ•์ขŒ
  • ์‚ฌ์ „์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•ด์•ผ ํ•˜๋Š” ์ด์œ ์™€ ๊ธฐํš์„ ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
  • 1๋ฒˆ์—์„œ 3๋ฒˆ๊นŒ์ง€์˜ ๋‹จ๊ณ„๊ฐ€ ์ „์ฒด ๊ณผ์ •์— 70% ~ 80%๋ฅผ ์ฐจ์ง€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ธฐ์—…์— ๋“ค์–ด๊ฐ€๋„ ๋ฐ์ดํ„ฐ ์—†์Šต๋‹ˆ๋‹ค. ๋˜๋Š” ์“ธ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋˜๋Š” ์™„์ „ํžˆ ์˜๋ฏธ์—†๋Š” ๋ฐ์ดํ„ฐ ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘๋ถ€ํ„ฐ, ๊ฐ€๊ณตํ•˜๋Š” ๊ฒƒ๊นŒ์ง€ SQL์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  ๋ถ„์„์—๋„ ์“ธ ์ˆ˜ ์žˆ์ง€๋งŒ ๋ถ„์„์—๋Š” ๋” ์ข‹์€ ๋„๊ตฌ๋“ค์ด ๋งŽ์ฃ .
ย 

7. ์ •ํ˜• ๋ฐ์ดํ„ฐ์™€ ๋น„์ •ํ˜• ๋ฐ์ดํ„ฐ

  • ์ •ํ˜•๋ฐ์ดํ„ฐ๋Š” RDBMS์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํ…Œ์ด๋ธ” ์•ˆ์— ๋“ค์–ด๊ฐ€ ์žˆ๋Š” ํ˜•์‹์ด ์žกํ˜€ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค.
  • ๋น„์ •ํ˜• ๋ฐ์ดํ„ฐ(unstructured data, unstructured information, ๋น„์ •ํ˜• ์ •๋ณด), ๋น„๊ตฌ์กฐํ™” ๋ฐ์ดํ„ฐ, ๋น„๊ตฌ์กฐ์  ๋ฐ์ดํ„ฐ๋Š” ๋ฏธ๋ฆฌ ์ •์˜๋œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์ด ์—†๊ฑฐ๋‚˜ ๋ฏธ๋ฆฌ ์ •์˜๋œ ๋ฐฉ์‹์œผ๋กœ ์ •๋ฆฌ๋˜์ง€ ์•Š์€ ์ •๋ณด๋ฅผ ๋งํ•œ๋‹ค.(์ถœ์ฒ˜ : WIKI)
ย 

8. CRUD

CRUD
CRUD๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์ปดํ“จํ„ฐ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐ€ ๊ฐ€์ง€๋Š” ๊ธฐ๋ณธ์ ์ธ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๊ธฐ๋Šฅ์ธ Create(์ƒ์„ฑ), Read(์ฝ๊ธฐ), Update(๊ฐฑ์‹ ), Delete(์‚ญ์ œ)๋ฅผ ๋ฌถ์–ด์„œ ์ผ์ปซ๋Š” ๋ง์ด๋‹ค. ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๊ฐ–์ถ”์–ด์•ผ ํ•  ๊ธฐ๋Šฅ(์ •๋ณด์˜ ์ฐธ์กฐ/๊ฒ€์ƒ‰/๊ฐฑ์‹ )์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ์šฉ์–ด๋กœ์„œ๋„ ์‚ฌ์šฉ๋œ๋‹ค. CRUD ๋Œ€์‹ ์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์œ ์‚ฌ์šฉ์–ด๊ฐ€ ์‚ฌ์šฉ๋˜๊ธฐ๋„ ํ•œ๋‹ค. ABCD: add(์ถ”๊ฐ€), browse(๋ณด๊ธฐ), change(๋ณ€๊ฒฝ), delete(์‚ญ์ œ) ACID: add(์ถ”๊ฐ€), change(๋ณ€๊ฒฝ), inquire(์งˆ์˜), delete(์‚ญ์ œ) BREAD: browse(๋ณด๊ธฐ), read(์ฝ๊ธฐ), edit(ํŽธ์ง‘), add(์ถ”๊ฐ€), delete(์‚ญ์ œ) VADE(R): view(์ฐธ์กฐ), add(์ถ”๊ฐ€), delete(์‚ญ์ œ), edit(ํŽธ์ง‘), ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ์—์„œ๋Š” restore(๋ณต์›) ์ถ”๊ฐ€ ๊ฐ ๋ฌธ์ž๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‘œ์ค€ SQL๋ฌธ์œผ๋กœ ๋Œ€์‘ ๊ฐ€๋Šฅํ•˜๋‹ค.
  • Create
  • Read
  • Update
  • Delete
ย 

9. ํ™ˆํŽ˜์ด์ง€๋ฅผ ์ œ์ž‘ํ•œ๋‹ค๋ฉด!

  • HTML/CSS + PHP + MySQL๋กœ ํ™ˆํŽ˜์ด์ง€ ๊ฒŒ์‹œํŒ ํ•œ ๋ฒˆ ๋งŒ๋“ค์–ด๋ณด์„ธ์š”. ์ตœ๋Œ€ํ•œ ๊ฐ„์†Œํ•˜๊ฒŒ ๋งŒ๋“ค์–ด๋ณด์‹ญ์‹œ์˜ค. (์‹ค ์„œ๋น„์Šค๋Š” ๋ณด์•ˆ ์ด์Šˆ๋กœ ์ธํ•ด Framework๋ฅผ ์‚ฌ์šฉํ•˜์‹œ๊ธธ ๊ถŒํ•ด๋“œ๋ฆฝ๋‹ˆ๋‹ค.)
    • ์„œ๋ฒ„ ์„ธํŒ…ํ•˜๋Š” ๋ถ€๋ถ„์„ ์–ด๋ ค์›Œ ํ•˜์‹œ๋Š” ๋ถ„์ด ๋งŽ์œผ์…”์„œ ์•„๋ž˜ ์˜์ƒ์œผ๋กœ ๋…นํ™”ํ•ด ๋‘์—ˆ์Šต๋‹ˆ๋‹ค.
      Video preview
      ย 

10. ๋‹ค์Œ ๋ฌด๋ฃŒ ๊ฐ•์˜ ์ถ”์ฒœ

๋‹ค์Œ ๊ฐ•์˜๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ์ถ”์ฒœํ•ด๋“œ๋ฆฝ๋‹ˆ๋‹ค.
  1. PHP์™€์˜ ์—ฐ๋™์„ ๋จผ์ € ์ถ”์ฒœํ•ด๋“œ๋ฆฝ๋‹ˆ๋‹ค.
  1. ๊ฐ„๋‹จํ•˜๊ฒŒ ์ด๋ก ์„ ์‚ดํŽด๋ณด์„ธ์š”.
    1. DATABASE1 - ์ƒํ™œ์ฝ”๋”ฉ
      ์ด ์ˆ˜์—…์€ ์ •๋ณด๊ธฐ์ˆ ์˜ ์‹ฌ์žฅ์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ํฌ๊ด„์ ์ธ ์†Œ๊ฐœ๋ฅผ ๋‹ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ˆ˜์—…์€ ๊ตฌ์ฒด์ ์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ œํ’ˆ์„ ๋‹ค๋ฃจ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ผ๋Š” ๋ณต์žกํ•œ ๋ถ„์•ผ๋ฅผ ๊ด€ํ†ตํ•˜๋Š” ๊ณตํ†ต์ ์ธ ๋ณธ์งˆ์ด ๋ฌด์—‡์ธ์ง€ ๊ถ๊ธˆํ•˜์‹  ๋ถ„๋“ค์„ ์œ„ํ•ด์„œ ์ œ์ž‘๋œ ์ˆ˜์—…์ž…๋‹ˆ๋‹ค. ๋˜ ์•ž์œผ๋กœ ๋งŒ๋“ค์–ด์งˆ DATABASE2, DATABASE3...DATABASEn ์‹œ๋ฆฌ์ฆˆ๋ฅผ ์œ„ํ•œ ๋Œ€๋ฌธ์œผ๋กœ์„œ ๋งŒ๋“ค์–ด์ง„ ์ˆ˜์—…์ž…๋‹ˆ๋‹ค. ์ด ์ˆ˜์—…์ด ๋๋‚˜๋ฉด ์–ด๋–ค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ณต๋ถ€ํ•˜๋ฉด ์ข‹์„์ง€ ์Šค์Šค๋กœ ์„ ํƒํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์œผ๋กœ ๊ธฐ๋Œ€ํ•ฉ๋‹ˆ๋‹ค.
      DATABASE1 - ์ƒํ™œ์ฝ”๋”ฉDATABASE1 - ์ƒํ™œ์ฝ”๋”ฉ
  1. MySQL์„ ์ข€ ๋” ์‚ดํŽด๋ณด์„ธ์š”.
ย 

(์‹ค์Šต) ํ™˜๊ฒฝ์„ค์ •

์•ž์„œ ๋ง์”€๋“œ๋ฆฐ ๊ฒƒ์ฒ˜๋Ÿผ, ์„ค์น˜ํ•˜๋Š” ์ž‘์—…๊ณผ ๋ฐ์ดํ„ฐ๋ฅผ ์„ธํŒ…ํ•˜๋Š” ๊ฒƒ ์ž์ฒด๊ฐ€ ์šฐ๋ฆฌ์—๊ฒŒ ํฐ ํ—ˆ๋“ค์ด ๋˜๋ฏ€๋กœ, ์šฐ๋ฆฌ๋Š” ์„ค์น˜ ์—†์ด ์•„๋ž˜ ์‚ฌ์ดํŠธ์—์„œ ๋ฐ”๋กœ ์‹ค์Šต์„ ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
notion imagenotion image
ย 
Try it Yourself๋ฅผ ํด๋ฆญํ•ด์ฃผ์„ธ์š”. ํ•œ๋ฒˆ๋งŒ ๋ˆ„๋ฅด์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๋‚˜๋จธ์ง€๋Š” ์ด ๊ฐ•์˜๋ฅผ ๋ณด์‹œ๋ฉด์„œ ๋”ฐ๋ผ๊ฐ€์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.
notion imagenotion image
ย 

(์‹ค์Šต) SELECT Statement

select๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๊ฑฐ๋‚˜ ์‚ฐ์ˆ ์‹, ํ•จ์ˆ˜ ๋“ฑ์„ ์‹คํ–‰ํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. SQL์€ ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ฐ€๋ฆฌ์ง€ ์•Š์ง€๋งŒ, ๊ตฌ๋ฌธ์— ํ•ด๋‹น๋˜๋Š” ๊ฒƒ์€ ๋Œ€๋ฌธ์ž๋กœ๋งŒ ์ ๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
*(์—์Šคํ„ฐ๋ฆฌ์Šคํฌ, ๋ณ„ํ‘œ)๋Š” ๋ชจ๋“  ํ•ญ๋ชฉ์„ ๋‹ค ์ถœ๋ ฅํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
SELECT * FROM Customers;
์—ฌ๊ธฐ์„œ ์›ํ•˜๋Š” ์ปฌ๋Ÿผ๋งŒ ์ถœ๋ ฅํ•˜๊ณ  ์‹ถ์„ ๋•Œ์—๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
SELECT CustomerName, City FROM Customers;
์•„๋ž˜์™€ ๊ฐ™์ด ๋Œ€๊ด„ํ˜ธ๋กœ ๋ฌถ์–ด์ค„ ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ์—ฌ๊ธฐ์„œ๋Š” ๋ฌถ์–ด์ฃผ์ง€ ์•Š๊ณ  ์‚ฌ์šฉํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
SELECT [Address], [City] FROM Customers;
์•„๋ž˜ ๋ณด์ด์‹œ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์ผ๋ฐ˜ ์ˆ˜์‹์„ ์ถœ๋ ฅํ•  ๋•Œ์—๋„ Select ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ•จ์ˆ˜๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์•„์ง ํ•จ์ˆ˜๋ฅผ ๋ฐฐ์šฐ์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ ๋’ค์—๊ฒŒ์„œ ํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
SELECT 1+1;
์˜ค๋ฅธ์ชฝ์— ์žˆ๋Š” Customers, Categories ๋“ฑ์„ ํ•˜๋‚˜์”ฉ ํด๋ฆญํ•ด๋ณด๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ํŒŒ์•…ํ•ด๋ณด์„ธ์š”. ์—ฌ๋Ÿฌ๊ฐœ์˜ ์—ด์„ SELECT๋ฌธ์„ ์‚ฌ์šฉํ•ด ์ง์ ‘ ์ถœ๋ ฅํ•ด๋ณด์„ธ์š”. ๊ธฐ์–ตํ•˜์„ธ์š”. ํƒ€์ดํ•‘์„ ์นœ ๋งŒํผ๋งŒ ๋‚ด ์‹ค๋ ฅ์ž…๋‹ˆ๋‹ค.
notion imagenotion image
ย 

(์‹ค์Šต) SELECT DISTINCT Statement

DISTINCT๋Š” ์ค‘๋ณต๊ฐ’์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.
SELECT DISTINCT Country FROM Customers;
ย 

(์‹ค์Šต) ORDER BY

์ถœ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ์ •๋ ฌํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜์ฒ˜๋Ÿผ ๊ฐœํ–‰์„ ํ•˜์—ฌ๋„ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์— ์„ธ๋ฏธ์ฝœ๋ก  ์žŠ์ง€๋งˆ์„ธ์š”.
  • ์˜ค๋ฆ„์ฐจ์ˆœ : ASC(๊ธฐ๋ณธ, ์ž‘์€ ์ˆ˜์—์„œ ํฐ ์ˆ˜๋กœ, Ascending)
  • ๋‚ด๋ฆผ์ฐจ์ˆœ : DESC(ํฐ ์ˆ˜์—์„œ ์ž‘์€ ์ˆ˜๋กœ, Descending)
SELECT * FROM Customers ORDER BY CustomerID DESC;
SELECT * FROM Customers ORDER BY CustomerName ASC;
SELECT * FROM Customers ORDER BY CustomerID DESC;
SELECT * FROM Customers ORDER BY CustomerID ASC;
ย 

(์‹ค์Šต) AS

๋ณ„์นญ์„ ์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์กด Table์˜ ๊ฐ’์€ ๋ณ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
SELECT CustomerID AS ํšŒ์›์ด๋ฆ„ FROM Customers;
SELECT CustomerID AS ํšŒ์›์ด๋ฆ„, Country AS ๋‚˜๋ผ FROM Customers;
SELECT CustomerID ํšŒ์›์ด๋ฆ„, CustomerName ์ด๋ฆ„ FROM Customers;
ย 

(์‹ค์Šต) ์‚ฐ์ˆ ์—ฐ์‚ฐ

๋”ํ•˜๊ณ  ๋นผ๊ณ  ๋‚˜๋ˆ„๊ณ  ๊ณฑํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
SELECT (CustomerID/3)+5 FROM Customers;
SELECT (CustomerID / 3) % 2 FROM Customers;
ย 
๊ฐ๊ฐ ์ปฌ๋Ÿผ๋ผ๋ฆฌ ์—ฐ์‚ฐ๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
SELECT CustomerID + CustomerID FROM Customers;
ย 
ํ•ด๋‹น ๊ฐ’์€ 0, ๋‚˜๋ˆ„๊ธฐ๋ฅผ ํ•˜๋ฉด null๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ด์–ด๋ถ™์ด๋ ค๋ฉด ์•„๋ž˜ ์žˆ๋Š” ์—ฐ๊ฒฐ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
SELECT CustomerName + CustomerName FROM Customers;
SELECT ProductName AS ์ œํ’ˆ์ด๋ฆ„, Price AS ๊ธฐ์กด๊ฐ€, Price*0.2 AS ํ• ์ธ๋œ๊ฐ€๊ฒฉ, Price*0.8 AS ์ตœ์ข…๊ฐ€ FROM Products
ย 

(์‹ค์Šต) ์—ฐ๊ฒฐ ์—ฐ์‚ฐ์ž

Oracle์—์„œ๋Š” ||, MsSQL์€ +, MySQL์€ ๊ณต๋ฐฑ์œผ๋กœ ์—ฐ๊ฒฐ ๊ฐ€๋Šฅ. CONCATํ•จ์ˆ˜๋Š” ๊ณตํ†ต์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ดˆ๊ธ‰์ž ๋‹จ๊ณ„์—์„œ ์ด๋Ÿฐ ๊ฒƒ๋“ค์„ ๊ตฌ๋ถ„์ง€์–ด ๊ธฐ์–ตํ•˜๋Š” ๊ฒƒ์€ ํฌ๊ฒŒ ์˜๋ฏธ์žˆ์ง€ ์•Š์œผ๋‹ˆ, ๋ฌธ๋ฒ•์ด ์กฐ๊ธˆ ์ƒ์ดํ•˜๋‹ค ์ •๋„๋กœ ๊ธฐ์–ตํ•ด ์ฃผ์„ธ์š”.
SELECT Country || ' ' || City || ' ' || Address AS ์ฃผ์†Œ FROM Customers
SELECT ProductName AS ์ œํ’ˆ์ด๋ฆ„, Price || '๊ฐ€ ' || (Price*0.2) || 'ํ• ์ธ๋˜์–ด ' || (Price*0.8) || '์— ํŒ๋งคํ•ฉ๋‹ˆ๋‹ค!' AS ํ™๋ณด๋ฌธ๊ตฌ FROM Products;
๋‹ค์–‘ํ•œ ์ฟผ๋ฆฌ๋ฅผ ๋งŒ๋“ค์–ด ๋‹ค๋ฅธ table์—์„œ๋„ ์—ฌ๋Ÿฌ๋ถ„ ๋งŒ์— ๋ฌธ์žฅ์„ ๋งŒ๋“ค์–ด๋ณด์„ธ์š”.
ย 

(์‹ค์Šต) ๋…ผ๋ฆฌ ์—ฐ์‚ฐ

์šฐ์„ ์ˆœ์œ„๋Š” NOT, AND, OR์ž…๋‹ˆ๋‹ค. True๋Š” 1๋กœ, False๋Š” 0์œผ๋กœ, and๋Š” ๊ณฑ์œผ๋กœ, or๋Š” ๋ง์…ˆ์œผ๋กœ ์ดํ•ดํ•˜์‹œ๋ฉด ๊ณ„์‚ฐ์ด ์‰ฝ์Šต๋‹ˆ๋‹ค. ๋’ค์—์„œ ๋‚˜์˜ฌ ๋น„๊ต ์—ฐ์‚ฐ์ž, WHERE ์กฐ๊ฑด ์ ˆ์„ ๋ฏธ๋ฆฌ ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋น„๊ต ์—ฐ์‚ฐ์ž๋Š” ๊ฐ™๋‹ค(=), ๋‹ค๋ฅด๋‹ค(!=), ํฌ๋‹ค(>), ์ž‘๋‹ค(<)๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ์—ฐ์‚ฐ์ž์ž…๋‹ˆ๋‹ค.
  • ๊ธฐ๋ณธ์‹ค์Šต
    • SELECT 1 AND 0;
      SELECT 1 OR 0;
      SELECT NOT 0;
  • AND
    • SELECT * FROM Customers WHERE CustomerID LIKE '1%' AND City = 'London';
  • OR
    • SELECT * FROM Customers WHERE CustomerID LIKE '1%' AND City = 'London' OR City = 'Berlin';
      SELECT * FROM Customers WHERE CustomerID LIKE '1%' AND (City = 'London' OR City = 'Berlin');
  • NOT
    • SELECT * FROM Customers WHERE CustomerID LIKE '1%' AND NOT(City = 'London' OR City = 'Berlin');
      SELECT * FROM Customers WHERE CustomerID LIKE '1%' AND (City != 'London' AND City != 'Berlin');
  • <>๊ฐ™์ง€ ์•Š๋‹ค.(IOS ํ‘œ์ค€)
    • SELECT * FROM Customers WHERE CustomerID LIKE '1%' AND (City <> 'London' AND City <> 'Berlin');
ย 

(์‹ค์Šต) BETWEEN ์—ฐ์‚ฐ

A AND B : A์™€ B๋ฅผ ํฌํ•จํ•œ ์‚ฌ์ด์˜ ๊ฐ’
SELECT CustomerID, CustomerName FROM Customers WHERE CustomerID BETWEEN 30 AND 50;
SELECT CustomerID, CustomerName FROM Customers WHERE CustomerID >= 30 AND CustomerID <= 50;
ย 

(์‹ค์Šต) IN ์—ฐ์‚ฐ

IN A : A์•ˆ์— ๊ฐ’๊ณผ ์ผ์น˜ํ•˜๋Š” ๊ฐ’์„ ์กฐํšŒ
SELECT CustomerID, CustomerName FROM Customers WHERE CustomerID IN (10, 20, 30);
ย 

(์‹ค์Šต) LIKE ์—ฐ์‚ฐ

  • LIKE '๋น„๊ต๋ฌธ์ž'
      1. ๋น„๊ต ๋ฌธ์ž์™€ ํ˜•ํƒœ๊ฐ€ ์ผ์น˜(%(๋ชจ๋“  ๋ฌธ์ž), _(ํ•œ ๊ธ€์ž) ์‚ฌ์šฉ)
      1. ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ์•ˆ๊ฐ€๋ฆผ
      SELECT CustomerID, CustomerName FROM Customers WHERE CustomerName LIKE 'Paul%';
      ๋งŒ์•ฝ ๋ฐ์ดํ„ฐ๊ฐ€ Paullab, Paultest, Paulcode๊ฐ€ ์žˆ๋‹ค๋ฉด ๋ชจ๋‘ ๊ฒ€์ƒ‰
      ย 
      SELECT CustomerID, CustomerName FROM Customers WHERE CustomerName LIKE 'Paul___';
      ๋งŒ์•ฝ ์–ธ๋”๋ฐ”๊ฐ€ 3๊ฐœ๋ผ๋ฉด ์œ„ ๋ฐ์ดํ„ฐ ์ค‘ Paullab ๋งŒ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๋ฌธ์ž์—ด๋“ค์€ ์™€์ผ๋“œ์นด๋“œ๋ผ๊ณ  ๋ถ€๋ฅด๋ฉฐ ๋‹ค์–‘ํ•œ ์˜ˆ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
ย 
  • ์ž์ฃผ์“ฐ๋Š” ์˜ˆ์ œ
    • Paul์ด ๋“ค์–ด๊ฐ€๋Š” ๋ชจ๋“  ๊ฐ’
      SELECT CustomerID, CustomerName FROM Customers WHERE CustomerName LIKE '%Paul%';
      ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์‹ค์Šตํ•ด๋ณด์„ธ์š”.
      SELECT CustomerID, CustomerName FROM Customers WHERE CustomerID LIKE '1%';
ย 

(์‹ค์Šต) IS NULL

  • NULL ๊ฐ’์„ ๊ฐ–๋Š” ๊ฐ’(0์€ ๊ฐ’์ด ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.)
SELECT CustomerID, CustomerName FROM Customers WHERE CustomerID IS NULL;
ย 

(์‹ค์Šต) bit ๋‹จ์œ„ ๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž

์ฐจ๋ก€๋Œ€๋กœ AND, OR, XOR์ž…๋‹ˆ๋‹ค.
SELECT 1 & 0;
SELECT 1 | 0;
SELECT 1 ^ 0;
ย 

(์‹ค์Šต) WHERE

  • ์กฐํšŒํ•˜๋ ค๋Š” ๋ฐ์ดํ„ฐ์— ์กฐ๊ฑด ๋ถ€์—ฌ
  • ์—ฌ๋Ÿฌ ์—ฐ์‚ฐ์ž๋ฅผ ๊ฒฐํ•ฉํ•˜์—ฌ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
  • ๊ฒฐํ•ฉ ๊ฐ€๋Šฅํ•œ ์—ฐ์‚ฐ์ž์˜ ์ข…๋ฅ˜ : ๋น„๊ต์—ฐ์‚ฐ์ž(=, <, >, !=, >=, <=), SQL์—ฐ์‚ฐ์ž(BETWEEN), ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž(AND, OR) ๋“ฑ
SELECT CustomerID FROM Customers WHERE CustomerID > 80;
SELECT * FROM Customers WHERE CustomerID > 80 AND Country='France';
SELECT CustomerID, CustomerName FROM Customers WHERE CustomerID=30;
SELECT CustomerID, CustomerName FROM Customers WHERE CustomerName='Godos Cocina Tรญpica';

(์‹ค์Šต) INSERT

์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•œ ํ›„ ๋‹ค์‹œ ํ•œ ๋ฒˆ ์ „์ฒด ์ปฌ๋Ÿผ์„ ์กฐํšŒํ•ด๋ณด์„ธ์š”. ๋‚˜๋จธ์ง€ ๊ฐ’์€ null๋กœ ๋“ค์–ด๊ฐ€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ํด๋ฆญ์„ 3๋ฒˆ ํ•˜๋ฉด 3๊ฐœ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด๊ฐ€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
INSERT INTO Customers (CustomerName, City, Country) VALUES ('leehojun', 'jejusi', 'korea');
SELECT * FROM Customers;
ย 
  • ๋ฌธ์ œ 1๋ฒˆ
    • ๊ตญ์ ์ด ํ•œ๊ตญ์ด๋ฉด์„œ, ์ œ์ฃผ์‹œ์— ์‚ด๊ณ  ์žˆ๋Š” ์‚ฌ๋žŒ์„ ๊ตฌํ•ด์ฃผ์„ธ์š”. ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ์— ํ•ด๋‹น ๋ฐ์ดํ„ฐ๊ฐ€ ์—†๋‹ค๋ฉด, ์œ„์— ์ฝ”๋“œ(INSERT)๋ฅผ ๋‹ค์‹œ ์‹คํ–‰์‹œ์ผœ ์ฃผ์„ธ์š”.
      SELECT * FROM Customers WHERE Country='korea' AND City='jejusi';
  • ๋ฌธ์ œ 2๋ฒˆ
    • PostalCode๊ฐ’์ด null ๊ฐ’์ธ ์‚ฌ๋žŒ์„ ๊ตฌํ•ด์ฃผ์„ธ์š”.
      /* SELECT * FROM Customers WHERE PostalCode=''; */ SELECT * FROM Customers WHERE PostalCode IS NULL;
      ๋น„์–ด์žˆ๋Š” ๋ฌธ์ž์—ด๊ณผ NULL๊ฐ’์€ ๋‹ค๋ฅธ ๊ฐ’์ž…๋‹ˆ๋‹ค.

(์‹ค์Šต) Null Values ์ฐพ์•„๋‚ด๊ธฐ

์œ„ ์‹ค์Šต์—์„œ ์ผ๋ถ€๋Ÿฌ ๋ช‡ ๊ฐœ์˜ ๊ฐ’์„ ์ž…๋ ฅํ•˜์ง€ ์•Š๊ณ  null๊ฐ’์„ ์ฐพ์•„๋ณด์„ธ์š”. ์œ„์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…ํ•œ ๊ฒƒ ์ค‘ ๋ช…์‹œํ•˜์ง€ ์•Š์€ ๊ฒƒ๋“ค์€ null ๊ฐ’์œผ๋กœ ๋“ค์–ด๊ฐ”๊ธฐ ๋•Œ๋ฌธ์— ContactName์— ์กฐํšŒ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
SELECT * FROM Customers WHERE ContactName IS NULL;
is not ๊ตฌ๋ฌธ๋„ ๊ฐ€๋Šฅํ•˜๋‹ต๋‹ˆ๋‹ค.
SELECT * FROM Customers WHERE ContactName IS NOT NULL;

(์‹ค์Šต) UPDATE

๊ฐ’์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค. ์ด ํ–‰์œ„๋Š” ๋˜๋Œ๋ฆด ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. where๋กœ ์—ฌ๋Ÿฌ๊ฐœ๋ฅผ selectํ•˜์—ฌ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
UPDATE Customers SET CustomerName='ํ•˜๋ฅด๋ฐฉ', City='ํ•œ๋ผ์‚ฐ', Country='์„ ๊ณ„' WHERE CustomerID = 1;
SELECT * FROM Customers;

(์‹ค์Šต) DELETE

์ฃผ์˜ํ•˜์„ธ์š”. WHERE ์•ˆ์ ์œผ๋ฉด ๋‹ค ์‚ญ์ œ ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฐ์ผ์ด ์‹ค๋ฌด์—์„œ๋„ ์ข…์ข… ๋ฐœ์ƒ๋ฉ๋‹ˆ๋‹ค.
DELETE FROM Customers WHERE CustomerName='hojun';
SELECT * FROM Customers;

(์‹ค์Šต) TOP๊ณผ LIMIT

์ตœ ์ƒ๋‹จ 3๊ฐœ์˜ ํ–‰(row)์„ ๋ณด๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.
SELECT TOP 3 * FROM Customers;
SELECT TOP 10 PERCENT * FROM Customers;
SELECT * FROM Customers LIMIT 3;

(์‹ค์Šต ์•ˆํ•จ) CREATE, DROP

ํ•ด๋‹น ์‹ค์Šต์€ ์—ฌ๊ธฐ์„œ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์˜์ƒ๊ฐ•์˜ ๋งˆ์ง€๋ง‰ ์ˆ˜์—…์—์„œ ํด๋ผ์šฐ๋“œ ์„œ๋ฒ„์— DB๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์ƒ์„ฑํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
CREATE DATABASE sampledata_db; CREATE TABLE sampledata_table; DROP DATABASE sampledata_db; DROP TABLE sampledata_table;

(์‹ค์Šต ์•ˆํ•จ) SHOW, DESC

์‹ค์Šต์€ ์•ˆํ•˜์ง€๋งŒ ์ž์ฃผ ์“ฐ๋Š” ๋ช…๋ น์–ด๋ฅผ ์ •๋ฆฌํ•ด๋“œ๋ฆฝ๋‹ˆ๋‹ค.
mysql> SHOW databases; mysql> SHOW tables; mysql> DESC table_name;