ย ์ฃผ์
#๋ด์ฉ : ํ ์ค ์ฃผ์
--๋ด์ฉ : ํ ์ค ์ฃผ์
/*๋ด์ฉ*/ : ๋ ์ค ์ด์ ์ฃผ์
SQL
๋ณต์ฌ
ย CREATE๋ฌธ (๋ฐ์ดํฐ๋ฒ ์ด์ค, ํ ์ด๋ธ ์์ฑ)
-- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฑ
CREATE DATABASE [DB์ด๋ฆ];
-- ํ
์ด๋ธ ์์ฑ
CREATE TABLE [ํ
์ด๋ธ์ด๋ฆ] (
[์ปฌ๋ผ์ด๋ฆ] [ํ์
] (์ ์ฝ์กฐ๊ฑด),
[์ปฌ๋ผ์ด๋ฆ] [ํ์
] (์ ์ฝ์กฐ๊ฑด)
);
SQL
๋ณต์ฌ
ย ALTER๋ฌธ (๋ฐ์ดํฐ๋ฒ ์ด์ค, ํ ์ด๋ธ ์์ )
-- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์
ALTER DATABASE [DB์ด๋ฆ] [DB์์ฑ=์์ฑ๊ฐ];
-- ํ
์ด๋ธ ์์
ALTER TABLE [ํ
์ด๋ธ์ด๋ฆ] ADD [์ปฌ๋ผ์ด๋ฆ] [์ปฌ๋ผํ์
] (AFTER [๊ธฐ์กด์ปฌ๋ผ์ด๋ฆ])-- ์ปฌ๋ผ ์ถ๊ฐ
ALTER TABLE [ํ
์ด๋ธ์ด๋ฆ] DROP [์ปฌ๋ผ์ด๋ฆ]-- ์ปฌ๋ผ ์ ๊ฑฐ
ALTER TABLE [ํ
์ด๋ธ์ด๋ฆ] CHANGE [์ปฌ๋ผ์ด๋ฆ] [์ ์ปฌ๋ผ์ด๋ฆ] [์ ์ปฌ๋ผํ์
]-- ์ปฌ๋ผ ๋ณ๊ฒฝ
ALTER TABLE [ํ
์ด๋ธ์ด๋ฆ] CHANGE [์ปฌ๋ผ์ด๋ฆ] [์ปฌ๋ผ์ด๋ฆ] [์ ์ปฌ๋ผํ์
]-- ์ปฌ๋ผ Mํ์
๋ง ๋ณ๊ฒฝ
ALTER TABLE [ํ
์ด๋ธ์ด๋ฆ] MODIFY [์ปฌ๋ผ์ด๋ฆ] [์ ์ปฌ๋ผํ์
]-- ์ปฌ๋ผ ํ์
๋ง ๋ณ๊ฒฝ
ALTER TABLE [ํ
์ด๋ธ์ด๋ฆ] RENAME [์ ํ
์ด๋ธ์ด๋ฆ]-- ํ
์ด๋ธ ์ด๋ฆ ๋ณ๊ฒฝ
SQL
๋ณต์ฌ
โข
ADD๋ฅผ ์ฌ์ฉํ ๋ AFTER๋ฅผ ์ด์ฉํด ์ถ๊ฐํ๋ ์ปฌ๋ผ์ ์์น๋ฅผ ๊ธฐ์กด ์ปฌ๋ผ ๋ค์์ผ๋ก ์ง์ ํ ์ ์๋ค.
ย UPDATE๋ฌธ (๋ฐ์ดํฐ ์์ )
UPDATE [ํ
์ด๋ธ์ด๋ฆ]
SET [ํ๋์ด๋ฆ1 = ๋ฐ์ดํฐ๊ฐ1], [ํ๋์ด๋ฆ2 = ๋ฐ์ดํฐ๊ฐ2], ...
(WHERE [์กฐ๊ฑด]); -- ์กฐ๊ฑด์์ ์์ฐ๋ฉด ํ
์ด๋ธ์ ํด๋น ๋ ์ฝ๋๊ฐ ์ ๋ถ ๋ฐ๋๋ค.
SQL
๋ณต์ฌ
ย DROP๋ฌธ (๋ฐ์ดํฐ๋ฒ ์ด์ค, ํ ์ด๋ธ ์์ฒด๋ฅผ ์ญ์ )
-- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ญ์
DROP DATABASE [DB์ด๋ฆ] IF EXISTS [DB์ด๋ฆ];
-- ํ
์ด๋ธ ์ญ์
DROP TABLE [ํ
์ด๋ธ์ด๋ฆ] IF EXISTS [ํ
์ด๋ธ์ด๋ฆ];
SQL
๋ณต์ฌ
โข
ํ
์ด๋ธ์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฟ๋ง ์๋๋ผ ํ
์ด๋ธ ์์ฒด๋ ์ญ์
โข
IF EXISTS๋ฅผ ์ฌ์ฉํด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ํ
์ด๋ธ์ด ์กด์ฌํ์ง ์์ ๋ฐ์ํ๋ ์๋ฌ๋ฅผ ๋ฏธ๋ฆฌ ๋ฐฉ์งํ๋๊ฒ ์ข๋ค.
ย DELETE๋ฌธ (๋ฐ์ดํฐ ์ญ์ )
DELETE FROM [ํ
์ด๋ธ์ด๋ฆ]
(WHERE [์ปฌ๋ผ์ด๋ฆ=๋ฐ์ดํฐ๊ฐ]); -- ์๋ตํ๋ฉด ํด๋น ํ
์ด๋ธ์ ๋ชจ๋ ๋ฐ์ดํฐ ์ญ์
SQL
๋ณต์ฌ
โข
๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ์ญ์ ๋๋๋ผ๋ ํ
์ด๋ธ์ ๋จ์ ์์
โข
๋ณต๊ตฌ ๊ฐ๋ฅ
โข
ํด์งํต ๊ฐ๋
์ผ๋ก ํธ๋์ญ์
๋ก๊ทธ๋ฅผ ๊ธฐ๋กํด์ ์๋๊ฐ ๋๋ฆฌ๊ณ ํ
์ด๋ธ ์์ฒด ์ฉ๋์ด ์ ์ค์ด๋ ๋ค.
ย TRUNCATE๋ฌธ (๋ฐ์ดํฐ ์ด๊ธฐํ)
TRUNCATE TABLE [ํ
์ด๋ธ์ด๋ฆ];
SQL
๋ณต์ฌ
โข
ํ
์ด๋ธ ๊ตฌ์กฐ๋ ๋จ๊ธฐ๊ณ ๋ฐ์ดํฐ๋ง ์ญ์
โข
๋ณต๊ตฌ ๋ถ๊ฐ
ย SELECT๋ฌธ (๋ฐ์ดํฐ ์กฐํ)
-- ๋ฌธ๋ฒ
SELECT (DISTINCT) [์ปฌ๋ผ] AS [๋ณ๋ช
]
FROM [ํ
์ด๋ธ]
WHERE [์กฐ๊ฑด] AND [์กฐ๊ฑด] OR [์กฐ๊ฑด] (IS NULL)
GROUP BY [์ปฌ๋ผ] (WITH ROLLUP)
HAVING [GROUP BY์ ๋ํ ์กฐ๊ฑด]
ORDER BY [์ปฌ๋ผ] ASC or DESC
LIMIT [๊ฑด๋๋ธ ๊ฐฏ์], [๊ฐ์ ธ์ฌ ๊ฐฏ์]
SQL
๋ณต์ฌ
โข
์ปฌ๋ผ์ ์์์ ๊ฐ์ ๋ฃ์ด์ ๋ถ๋ฌ์ฌ ์ ์๋ค.
โข
์ ๋ ฌ์ ASC๊ฐ ๋ํดํธ๋ผ ์๋ต ๊ฐ๋ฅํ๋ค.
DISTINCT
โข
์ค๋ณต์ ์์จ ๋ ์ฌ์ฉํ๋ฉฐ ์ ๋ ฌ์ ๋์ง ์์ต๋๋ค.
SELECT DISTINCT CategoryID
FROM Products;
SELECT
Country,
COUNT(DISTINCT CITY)
FROM Customers
GROUP BY Country
SQL
๋ณต์ฌ
AS
โข
ํด๋น ์ปฌ๋ผ์ ์๋ ์ด๋ฆ์ด ์๋ ๋ณ๋ช
์ผ๋ก ๋ณด์ฌ์ค๋๋ค.
GROUP BY
โข
์กฐ๊ฑด์ ๋ฐ๋ผ ์ง๊ณ๋ ๊ฐ์ ๊ฐ์ ธ์ต๋๋ค.
โข
๊ทธ๋ฃน ํจ์์ ํจ๊ป ์ฌ์ฉํ ์ ์์ต๋๋ค.
โข
์ค๋ณต์ ์์ ์ฃผ๊ณ ์ค๋ฆ์ฐจ์์ผ๋ก ์๋ ์ ๋ ฌํด์ค๋๋ค.
SELECT Country FROM Customers
GROUP BY Country;
SELECT
COUNT(*), OrderDate
FROM Orders
GROUP BY OrderDate;
WITH ROLLUP;
SQL
๋ณต์ฌ
โข
์ง๊ณ ํจ์์ WITH ROLLUP์ ํจ๊ป ์ฌ์ฉํ๋ฉด ์ ์ฒด์ ์ง๊ณ๊ฐ์ ํ์ธํ ์ ์์ต๋๋ค.
โข
WITH ROLLUP์ ORDER BY์ ํจ๊ป ์ฌ์ฉํ ์ ์์ต๋๋ค.
HAVING
โข
GROUP BY๋ก ๊ทธ๋ฃนํ๋ ๋ฐ์ดํฐ๋ฅผ ์กฐ๊ฑด์์ ํตํด ๊ฑธ๋ฌ๋
๋๋ค.
โข
GROUP BY ๋ณด๋ค ๋ค์ ์จ์ผํฉ๋๋ค.
โข
WHERE์ ๊ทธ๋ฃนํ ์ ๋ฐ์ดํฐ, HAVING์ ๊ทธ๋ฃนํ ํ ์ง๊ณ ๋ฐ์ดํฐ์ ์ฌ์ฉํฉ๋๋ค.
SELECT
Country, COUNT(*) AS Count
FROM Suppliers
GROUP BY Country
HAVING Count >= 3;
SQL
๋ณต์ฌ
ORDER BY
โข
์ค๋ฆ์ฐจ์ : ASC (๊ธฐ๋ณธ๊ฐ)
โฆ
์ซ์ : ์์ ๊ฐ๋ถํฐ ์ ๋ ฌ (0, 1, 2, โฆ)
โฆ
๋ฌธ์ : ์ฌ์ ์ ์ ๋ ฌ (a, b, c, โฆ)
โฆ
๋ ์ง : ๋น ๋ฅธ ๋ ์ง ์ ์ ๋ ฌ (์ค๋๋ ์)
โฆ
NULL : ๋ง์ง๋ง์ ๋์ด
โข
๋ด๋ฆผ์ฐจ์ : DESC
โฆ
์ซ์ : ํฐ ๊ฐ๋ถํฐ ์ ๋ ฌ (10, 9, 8, โฆ)
โฆ
๋ฌธ์ : ์ฌ์ ์ญ์ ์ ๋ ฌ (z, y, x, โฆ)
โฆ
๋ ์ง : ๋ฆ์ ๋ ์ง ์ (์ต์ ์)
โฆ
NULL : ๋จผ์ ๋์ด
IS NULL
โข
WHERE ๊ณผ ํจ๊ป ์ฌ์ฉํ๋ฉฐ ๋๊ฐ์ ๊ฒ์ํฉ๋๋ค.
SELECT name
FROM user_info
WHERE mobile IS NULL;
SQL
๋ณต์ฌ
ย INSERT๋ฌธ (๋ฐ์ดํฐ ์ถ๊ฐ)
-- ํน์ ์ปฌ๋ผ์ ๋ฐ์ดํฐ ์ถ๊ฐ
INSERT INTO [ํ
์ด๋ธ์ด๋ฆ(์ปฌ๋ผ์ด๋ฆ1, ์ปฌ๋ผ์ด๋ฆ2, ...]
VALUES [(๋ฐ์ดํฐ๊ฐ1, ๋ฐ์ดํฐ๊ฐ2, ...)];
-- ํ
์ด๋ธ ์ ์ฒด์ ๋ฐ์ดํฐ ์ถ๊ฐ (์ปฌ๋ผ์ด๋ฆ ์๋ต๊ฐ๋ฅ)
INSERT INTO [ํ
์ด๋ธ์ด๋ฆ]
VALUES [(๋ฐ์ดํฐ๊ฐ1, ๋ฐ์ดํฐ๊ฐ2, ...)];
SQL
๋ณต์ฌ
โข
์ปฌ๋ผ์ด๋ฆ์ ์๋ตํ๋ ๊ฒฝ์ฐ ํ
์ด๋ธ์ ์ปฌ๋ผ ์์๋๋ก ๊ฐ์ด ์๋ ๋์
๋๋ค.
โข
์๋ต ๊ฐ๋ฅํ ์ปฌ๋ผ
1.
NULL์ ์ ์ฅํ ์ ์๋ ์ปฌ๋ผ
2.
DEFAULT๊ฐ ์ค์ ๋ ์ปฌ๋ผ
3.
AUTO_INCREMENT๊ฐ ์ค์ ๋ ์ปฌ๋ผ
ย ๊ธฐํ ๋ฌธ๋ฒ
-- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ชฉ๋ก์ ๋ณด์ฌ์ค
SHOW DATABASES;
-- ํ
์ด๋ธ ๋ชฉ๋ก์ ๋ณด์ฌ์ค
SHOW TABLES;
-- ํ
์ด๋ธ์ ์ปฌ๋ผ ์ ๋ณด๋ฅผ ๋ณด์ฌ์ค
SHOW COLUMNS FROM ํ
์ด๋ธ์ด๋ฆ;
DESCRIBE ํ
์ด๋ธ์ด๋ฆ;
DESC ํ
์ด๋ธ์ด๋ฆ;
-- ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ์ ํํจ
USE DB์ด๋ฆ;
SQL
๋ณต์ฌ