์ธ๋ฑ์ค
๋ฐ์ดํฐ๋ฅผ ์กฐํํ ๋ ๊ฒฐ๊ณผ๊ฐ ๋์ค๋ ์๋๋ฅผ ํ๊ธฐ์ ์ผ๋ก ๋น ๋ฅด๊ฒ ํด์ค
๋ทฐ
๊ฐ์์ ํ
์ด๋ธ๋ก ๋ณด์์ ๋์์ด ๋๊ณ ๊ธด SQL๋ฌธ์ ๊ฐ๋ํ๊ฒ ๋ง๋ค ์ ์์
์คํ ์ด๋ ํ๋ก์์
SQL ๋ด์์๋ ์ผ๋ฐ ํ๋ก๊ทธ๋๋ฐ์ฒ๋ผ ์ฝ๋ฉ์ ํ ์ ์๊ฒ(ํ๋ก๊ทธ๋๋ฐ ๋ก์ง์ ์์ฑํ ์ ์๊ฒ) ํด์ฃผ๋ ๊ธฐ๋ฅ
SELECT
๊ตฌ์ถ์ด ์๋ฃ๋ ํ
์ด๋ธ์์ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ๋ ๊ธฐ๋ฅ, ์ฆ ์๋ฌด๋ฆฌ ๋ง์ด ์ฌ์ฉํด๋ ๊ธฐ์กด ๋ฐ์ดํฐ๋ฅผ ๋ณ๊ฒฝ์ํค์ง ์์
AUTO_INCREMENT
์๋์ผ๋ก ์ซ์๊ฐ ์ฆ๊ฐํ๊ฒ ๋๋ ๊ธฐ๋ฅ
๋ณดํต CREATE TABLE
์์ ํน์ ์ปฌ๋ผ(์ฃผ๋ก primary key)์ ์กฐ๊ฑด์ผ๋ก ๋ฃ๋๋ค.
์ดํ INSERT INTO
ํ ๋, AUTO_INCREMENT๊ฐ ๋ค์ด๊ฐ ์ปฌ๋ผ์ ํด๋นํ๋ ๊ฐ์ NULL์ ๋ฃ์ผ๋ฉด ์์์ ์ฆ๊ฐํ๋ ์ซ์๋ก ๋ฐ์๋จ
๋ํ, ์์ํ๋ ์ซ์(๊ธฐ๋ณธ์ ์ผ๋ก 1๋ถํฐ ์์) ๋ฐ ์ฆ๊ฐ ์ ๋(๊ธฐ๋ณธ์ ์ผ๋ก 1์ฉ ์ฆ๊ฐ)๋ ์ ํด์ค ์ ์๋ค.
SQL ๊ธฐ๋ณธ ํํ
SELECT ์ด_์ด๋ฆ
FROM ํ
์ด๋ธ_์ด๋ฆ
WHERE ์กฐ๊ฑด์
GROUP BY ์ด_์ด๋ฆ
HAVING ์กฐ๊ฑด์
ORDER BY ์ด_์ด๋ฆ
LIMIT ์ซ์
IN
WHERE x = A or x = B or x = C
WHERE x IN (A, B, C)
-- 2๊ฐ๊ฐ ๊ฐ์ ํจ๊ณผ
LIKE
LIKE '__a' -- ๋์ด a๋ก ๋๋๊ณ ์์ ๋๊ธ์๊ฐ ์๋ ๊ฐ๋ค
LIKE '&a' -- ๊ทธ๋ฅ ๋์ด a๋ก๋ง ๋๋๋ ๊ฐ๋ค
ORDER BY
์ ๋ ฌ ๊ธฐ์ค์ 1๊ฐ๊ฐ ์๋๋ผ ๋์์ ์ฌ๋ฌ๊ฐ๋ ๋ ์ ์๋ค. (์์ฐจ์ ์ผ๋ก ์ ์ฉ๋จ)
LIMIT
LIMIT 5 -- 5๊ฐ๋ฅผ ๊ณ ๋ฅธ๋ค
OFFSET 2 -- ์์์ด 2๋ฒ์งธ ๋จ, ์ฃผ์ํ ๊ฒ์ ํ์ ์
๋ 1๋ฒ์งธ๋ถํฐ๊ฐ ์๋ 0๋ฒ์งธ๋ถํฐ ์์
-- ์ฆ 2๋ฒ์งธ๋ถํฐ 5๊ฐ ๊ณ ๋ฅด๊ธฐ
LIMIT 2,5 -- ์์์ ๊ฐ์ ๊ฐ, ํํ๋ง ๋ค๋ฆ
DISTINCT
COUNT์ ํ์ฉ๋ฒ
COUNT(DISTINCT ์ปฌ๋ผ๋ช
) -- ๊ฒน์น๋ ๊ฐ์ 1๊ฐ๋ก ์น ๋ค์ ์นด์ดํธ
UPDATE
UPDATE ํ
์ด๋ธ ๋ช
SET ์ปฌ๋ผ1 = a, ์ปฌ๋ผ2 = b
WHERE ์ปฌ๋ผ3 = c
์ปฌ๋ผ3 = c์ธ ๊ฐ๋ค์ ์ปฌ๋ผ1๊ณผ ์ปฌ๋ผ2 ๊ฐ์ ๊ฐ๊ฐ a์ b๋ก ๋ฐ๊ฟ์ค๋๋ค. ์ฆ, ๋์์ ์ ์ฉ ๊ฐ๋ฅ
DELETE, DROP, TRUNCATE
๋ชจ๋ ํ
์ด๋ธ์ ์ง์ฐ๋ ๊ธฐ๋ฅ
DELETE : ๋น ํ
์ด๋ธ์ ๋จ๊น, ํ ๋จ์๋ก ์ผ์ผํ ๊ฑฐ์ณ๊ฐ๋ฉฐ ์ญ์ -> ์๊ฐ ์ค๋ ๊ฑธ๋ฆผ, ๋์ WHERE๋ฅผ ํตํด ์ง์ฐ๊ณ ์ถ์ ํ๋ง ์ง์ ๊ฐ๋ฅ
DROP : ๋น ํ
์ด๋ธ์ ๋จ๊ธฐ์ง ์์, ์ฆ ๊ทธ๋ฅ ํต์งธ๋ก ๋ ๋ ค๋ฒ๋ฆผ -> ์๊ฐ ๋น ๋ฆ
TRUNCATE : ๋น ํ
์ด๋ธ์ ๋จ๊น, ํ
์ด๋ธ ํ์ ๋จ๊ธฐ๊ณ ๊ฐ๋ค์ ํต์งธ๋ก ๋ ๋ ค๋ฒ๋ฆผ -> ์๊ฐ ๋น ๋ฆ
+++์ถ๊ฐ
CROSS JOIN
์ปฌ๋ผ 2๊ฐ๊ฐ ๊ฐ๊ณ ์๋ ๋ชจ๋ ๊ฒฝ์ฐ์ ์์ ๊ด์ธก์น๋ฅผ ๊ฒฐํฉ
์ฆ, ํ์ด 4๊ฐ์ธ ํ
์ด๋ธ๊ณผ 5๊ฐ์ธ ํ
์ด๋ธ์ CROSS JOIN ํ๋ฉด 20๊ฐ์ ํ์ด ์๊น
์ด ์กฐ๊ฑด์ WHERE๋ก ๊ฐ์ ์ญํ ์ ํ๋ ์ปฌ๋ผ ๊ฐ์ ๊ฐ์ ๊ฒ์ผ๋ก ๋์ฃผ๋ฉด ๋ง์น INNER JOIN์ ON์ ํ ๊ฒ๊ณผ ๊ฐ์ ํจ๊ณผ
์ถ๊ฐ) 'FROM ํ ์ด๋ธ1, ํ ์ด๋ธ2' = 'FROM ํ ์ด๋ธ1 CROSS JOIN ํ ์ด๋ธ2'
'๐ฟ Data > ์ด๋ชจ์ ๋ชจ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
__init.py__์ ํ์ฉ (0) | 2022.01.28 |
---|---|
[Python]Decorator (0) | 2022.01.26 |
SQLite_Select_rowid (0) | 2022.01.23 |
SQLite_sqlite3, PostgreSQL_psycopg2 (0) | 2022.01.22 |
SQL_SELECT์ ์คํ ์์ (0) | 2022.01.20 |