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๋ค์ ์งํฉ

- ํํ(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
- Create
- Read
- Update
- Delete
ย
9. ํํ์ด์ง๋ฅผ ์ ์ํ๋ค๋ฉด!
- HTML/CSS + PHP + MySQL๋ก ํํ์ด์ง ๊ฒ์ํ ํ ๋ฒ ๋ง๋ค์ด๋ณด์ธ์. ์ต๋ํ ๊ฐ์ํ๊ฒ ๋ง๋ค์ด๋ณด์ญ์์ค. (์ค ์๋น์ค๋ ๋ณด์ ์ด์๋ก ์ธํด Framework๋ฅผ ์ฌ์ฉํ์๊ธธ ๊ถํด๋๋ฆฝ๋๋ค.)
์๋ฒ ์ธํ
ํ๋ ๋ถ๋ถ์ ์ด๋ ค์ ํ์๋ ๋ถ์ด ๋ง์ผ์
์ ์๋ ์์์ผ๋ก ๋
นํํด ๋์์ต๋๋ค.

ย
10. ๋ค์ ๋ฌด๋ฃ ๊ฐ์ ์ถ์ฒ
๋ค์ ๊ฐ์๋ฅผ ์์๋๋ก ์ถ์ฒํด๋๋ฆฝ๋๋ค.
- PHP์์ ์ฐ๋์ ๋จผ์ ์ถ์ฒํด๋๋ฆฝ๋๋ค.
- ๊ฐ๋จํ๊ฒ ์ด๋ก ์ ์ดํด๋ณด์ธ์.
- MySQL์ ์ข ๋ ์ดํด๋ณด์ธ์.
ย
(์ค์ต) ํ๊ฒฝ์ค์
์์ ๋ง์๋๋ฆฐ ๊ฒ์ฒ๋ผ, ์ค์นํ๋ ์์
๊ณผ ๋ฐ์ดํฐ๋ฅผ ์ธํ
ํ๋ ๊ฒ ์์ฒด๊ฐ ์ฐ๋ฆฌ์๊ฒ ํฐ ํ๋ค์ด ๋๋ฏ๋ก, ์ฐ๋ฆฌ๋ ์ค์น ์์ด ์๋ ์ฌ์ดํธ์์ ๋ฐ๋ก ์ค์ต์ ํ๋๋ก ํ๊ฒ ์ต๋๋ค.

ย
Try it Yourself
๋ฅผ ํด๋ฆญํด์ฃผ์ธ์. ํ๋ฒ๋ง ๋๋ฅด์๋ฉด ๋ฉ๋๋ค. ๋๋จธ์ง๋ ์ด ๊ฐ์๋ฅผ ๋ณด์๋ฉด์ ๋ฐ๋ผ๊ฐ์๋ฉด ๋ฉ๋๋ค.
ย
(์ค์ต) SELECT Statement
select๋ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๊ฑฐ๋ ์ฐ์ ์, ํจ์ ๋ฑ์ ์คํํ ๋ ์ฌ์ฉํฉ๋๋ค. SQL์ ๋์๋ฌธ์๋ฅผ ๊ฐ๋ฆฌ์ง ์์ง๋ง, ๊ตฌ๋ฌธ์ ํด๋น๋๋ ๊ฒ์ ๋๋ฌธ์๋ก๋ง ์ ๋๋ก ํ๊ฒ ์ต๋๋ค.
*(์์คํฐ๋ฆฌ์คํฌ, ๋ณํ)
๋ ๋ชจ๋ ํญ๋ชฉ์ ๋ค ์ถ๋ ฅํ ๋ ์ฌ์ฉํฉ๋๋ค. SELECT * FROM Customers;
์ฌ๊ธฐ์ ์ํ๋ ์ปฌ๋ผ๋ง ์ถ๋ ฅํ๊ณ ์ถ์ ๋์๋ ์๋์ ๊ฐ์ด ์ฌ์ฉํฉ๋๋ค.
SELECT CustomerName, City FROM Customers;
์๋์ ๊ฐ์ด ๋๊ดํธ๋ก ๋ฌถ์ด์ค ์๋ ์์ง๋ง, ์ฌ๊ธฐ์๋ ๋ฌถ์ด์ฃผ์ง ์๊ณ ์ฌ์ฉํ๋๋ก ํ๊ฒ ์ต๋๋ค.
SELECT [Address], [City] FROM Customers;
์๋ ๋ณด์ด์๋ ๊ฒ์ฒ๋ผ ์ผ๋ฐ ์์์ ์ถ๋ ฅํ ๋์๋ Select ๊ตฌ๋ฌธ์ ์ฌ์ฉํฉ๋๋ค. ํจ์๋ ์ฌ์ฉํ ์ ์์ง๋ง ์์ง ํจ์๋ฅผ ๋ฐฐ์ฐ์ง ์์์ผ๋ฏ๋ก ๋ค์๊ฒ์ ํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
SELECT 1+1;
์ค๋ฅธ์ชฝ์ ์๋ Customers, Categories ๋ฑ์ ํ๋์ฉ ํด๋ฆญํด๋ณด๊ณ ๋ฐ์ดํฐ๋ฅผ ํ์
ํด๋ณด์ธ์. ์ฌ๋ฌ๊ฐ์ ์ด์ SELECT๋ฌธ์ ์ฌ์ฉํด ์ง์ ์ถ๋ ฅํด๋ณด์ธ์. ๊ธฐ์ตํ์ธ์. ํ์ดํ์ ์น ๋งํผ๋ง ๋ด ์ค๋ ฅ์
๋๋ค.

ย
(์ค์ต) 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 '๋น๊ต๋ฌธ์'
- ๋น๊ต ๋ฌธ์์ ํํ๊ฐ ์ผ์น(%(๋ชจ๋ ๋ฌธ์), _(ํ ๊ธ์) ์ฌ์ฉ)
- ๋์๋ฌธ์๋ฅผ ์๊ฐ๋ฆผ
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;