πΎ[Database] SQL 쿼리 - μ€ν€λ§ μμ , ν μ΄λΈ μμ±.μ‘°ν.μμ
1οΈβ£ μ€ν€λ§ μμ .
- MySQLμμ μ€ν€λ§(schema) λλ λ°μ΄ν°λ² μ΄μ€(database) λ₯Ό μμ νλ λ°©λ²μ λ§€μ° κ°λ¨ν©λλ€.
-
μ€ν€λ§μ λ°μ΄ν°λ² μ΄μ€λ μ¬μ€μ κ°μ κ°λ μΌλ‘ μ·¨κΈλλ©°, MySQLμμλ μ£Όλ‘ βλ°μ΄ν°λ² μ΄μ€β λΌλ μ©μ΄λ₯Ό μ¬μ©ν©λλ€.
- μ€ν€λ§λ₯Ό μμ νκΈ° μν΄μλ
DROP DATABASE
λͺ λ Ήμ μ¬μ©ν©λλ€. - μ΄ λͺ λ Ήμ΄λ μ§μ ν λ°μ΄ν°λ² μ΄μ€λ₯Ό μμ ν μμ νλ©°, ν΄λΉ λ°μ΄ν°λ² μ΄μ€ μμ λͺ¨λ ν μ΄λΈκ³Ό λ°μ΄ν°λ ν¨κ» μμ λ©λλ€.
μ€ν€λ§(λ°μ΄ν°λ² μ΄μ€) μμ νλ λͺ λ Ήμ΄
DROP DATABASE database_name;
- μ¬κΈ°μ
database_name
μ μμ νλ €λ λ°μ΄ν°λ² μ΄μ€(μ€ν€λ§)μ μ΄λ¦μ λλ€.
μμ.
DROP DATABASE mydatabase;
- μ λͺ
λ Ήμ΄λ₯Ό μ€ννλ©΄
mydatabase
λΌλ μ΄λ¦μ λ°μ΄ν°λ² μ΄μ€κ° μμ λ©λλ€.
μμ μ μ μ£Όμν μ .
-
1. λ°±μ
- λ°μ΄ν°λ² μ΄μ€κ° μμ λλ©΄ κ·Έ μμ μλ λͺ¨λ λ°μ΄ν°κ° μꡬμ μΌλ‘ μ¬λΌμ§λλ€.
- νμν λ°μ΄ν°κ° μλ€λ©΄ λ¨Όμ λ°±μ μ νλ κ²μ΄ μ’μ΅λλ€.
-
2. μ‘΄μ¬ μ¬λΆ νμΈ
- λ°μ΄ν°λ² μ΄μ€κ° μ‘΄μ¬νμ§ μμ κ²½μ° μλ¬κ° λ°μν μ μμ΅λλ€.
- μ΄λ₯Ό λ°©μ§νκΈ° μν΄ λ°μ΄ν°λ² μ΄μ€κ° μ‘΄μ¬νλ κ²½μ°μλ§ μμ νλ λͺ
λ Ήμ΄λ₯Ό μ¬μ©ν μ μμ΅λλ€.
DROP DATABASE IF EXISTS mydatabase;
- μ΄ λͺ
λ Ήμ΄λ
mydatabase
κ° μ‘΄μ¬ν κ²½μ°μλ§ μμ νκ³ , μ‘΄μ¬νμ§ μμ κ²½μ°μλ μ무 μμ λ νμ§ μμΌλ©° μλ¬ λ©μμ§λ₯Ό μΆλ ₯νμ§ μμ΅λλ€.
MySQLμμ λ°μ΄ν°λ² μ΄μ€ νμΈ λ° μμ κ³Όμ .
-
1. νμ¬ λ°μ΄ν°λ² μ΄μ€ λͺ©λ‘ νμΈ
- λ°μ΄ν°λ² μ΄μ€ λͺ©λ‘μ νμΈνλ €λ©΄ μλ λͺ
λ Ήμ΄λ₯Ό μ¬μ©ν©λλ€.
SHOW DATABASES;
- λ°μ΄ν°λ² μ΄μ€ λͺ©λ‘μ νμΈνλ €λ©΄ μλ λͺ
λ Ήμ΄λ₯Ό μ¬μ©ν©λλ€.
-
2. λ°μ΄ν°λ² μ΄μ€ μμ
- λ°μ΄ν° λ² μ΄μ€ μ΄λ¦μ νμΈν ν,
DROP DATABASE
λͺ λ Ήμ μ¬μ©νμ¬ μμ ν©λλ€.
- λ°μ΄ν° λ² μ΄μ€ μ΄λ¦μ νμΈν ν,
-
3. μμ νμΈ
- λ€μ λ°μ΄ν°λ² μ΄μ€ λͺ©λ‘μ νμΈνμ¬ μμ λ λ°μ΄ν°λ² μ΄μ€κ° λͺ©λ‘μ μλμ§ νμΈν©λλ€.
SHOW DATABASES;
- λ€μ λ°μ΄ν°λ² μ΄μ€ λͺ©λ‘μ νμΈνμ¬ μμ λ λ°μ΄ν°λ² μ΄μ€κ° λͺ©λ‘μ μλμ§ νμΈν©λλ€.
- μ κ³Όμ μΌλ‘ MySQLμμ μμ νκ² μ€ν€λ§(λ°μ΄ν°λ² μ΄μ€)λ₯Ό μμ ν μ μμ΅λλ€.
2οΈβ£ ν μ΄λΈ μμ±.
- MySQLμμ
shopdb
λΌλ λ°μ΄ν°λ² μ΄μ€ μμmemberTBL
μ΄λΌλ ν μ΄λΈμ μμ±νλ λ°©λ²μ λ€μκ³Ό κ°μ΅λλ€.
1. MySQLμμ λ°μ΄ν°λ² μ΄μ€ μ ν.
- λ¨Όμ
shopdb
λ°μ΄ν°λ² μ΄μ€λ₯Ό μ¬μ©ν΄μΌ ν©λλ€. - MySQLμμ μμ
ν λ°μ΄ν°λ² μ΄μ€λ₯Ό μ ννλ €λ©΄
USE
λͺ λ Ήμ μ¬μ©ν©λλ€.
USE shopdb;
- μ΄ λͺ
λ Ήμ μ€ννλ©΄ MySQLμ
shopdb
λ°μ΄ν°λ² μ΄μ€λ₯Ό μ¬μ©νμ¬ μ΄νμ λͺ¨λ μμ μ μνν©λλ€.
2. memberTBL
ν
μ΄λΈ μμ±.
-
memberTBL
ν μ΄λΈμ λ§λ€κΈ° μν΄CREATE TABLE
λͺ λ Ήμ μ¬μ©ν©λλ€. - ν μ΄λΈμ λ€μν 컬λΌ(νλ)λ‘ κ΅¬μ±λλ©°, κ° μ»¬λΌμ μ΄λ¦κ³Ό μλ£νμ κ°μ§λλ€.
- μμλ‘, νμ μ 보λ₯Ό μ μ₯νλ ν
μ΄λΈμ λ§λ€μ΄ λ³΄κ² μ΅λλ€.
- μ΄ ν μ΄λΈμ νμμ ID, μ΄λ¦, μ΄λ©μΌ, κ°μ μΌ λ±μ μ μ₯νλ€κ³ κ°μ νκ² μ΅λλ€.
CREATE TABLE memberTBL (
memberID INT AUTO_INCREMENT PRIMARY KEY, -- νμ ID(μλ μ¦κ°)
memberName VARCHAR(50) NOT NULL, -- νμ μ΄λ¦
memberEmail VARCHAR(100), -- νμ μ΄λ©μΌ
joinDate DATE -- κ°μ
λ μ§
);
ν μ΄λΈ μμ± μ½λ μ€λͺ
-
memberID INT AUTO_INCREMENT PRIMARY KEY
- νμ IDλ μ μν(
INT
)μ΄κ³ , μλμΌλ‘ μ¦κ°νλ κ°(AUTO_INCREMENT
)μ λλ€. - λν, κΈ°λ³Έ ν€(
PRIMARY KEY
)λ‘ μ€μ λμ΄ κ° νμμ΄ κ³ μ ν κ°μ κ°μ§λλ€.
- νμ IDλ μ μν(
-
memberName VARCHAR(50) NOT NULL
- νμ μ΄λ¦μ μ΅λ 50μ λ¬Έμμ΄(
VARCHAR
)λ‘ μ μ₯λλ©°, λΉμ΄μμ μ μμ΅λλ€(NOT NULL
).
- νμ μ΄λ¦μ μ΅λ 50μ λ¬Έμμ΄(
-
memberEmail VARCHAR(100)
- νμ μ΄λ©μΌμ μ΅λ 100μμ λ¬Έμμ΄λ‘ μ μ₯λ©λλ€.
- νμ μ λ ₯μ μλλλ€.
-
joinDate DATE
- κ°μ
λ μ§λ
DATE
νμμΌλ‘ μ μ₯λ©λλ€.
- κ°μ
λ μ§λ
3. ν μ΄λΈ νμΈ.
- ν
μ΄λΈμ΄ μ μμ μΌλ‘ μμ±λμλμ§ νμΈνλ €λ©΄
SHOW TABLES
λͺ λ Ήμ μ¬μ©ν©λλ€.
SHOW TABLES;
-
memberTBL
μ΄ λͺ©λ‘μ λνλλ©΄ ν μ΄λΈμ΄ μ±κ³΅μ μΌλ‘ μμ±λ κ²μ λλ€.
4. ν μ΄λΈ ꡬ쑰 νμΈ.
- ν
μ΄λΈμ ꡬ쑰λ₯Ό νμΈνλ €λ©΄
DESCRIBE
λͺ λ Ήμ μ¬μ©ν©λλ€.
DESCRIBE memberTBL;
- μ΄ λͺ λ Ήμ΄λ ν μ΄λΈμ κ° μ»¬λΌ μ΄λ¦, λ°μ΄ν° νμ , κΈ°λ³Έκ°, μΈλ±μ€ λ±μ 보μ¬μ€λλ€.
5. κ²°λ‘ .
- μ κ³Όμ μ ν΅ν΄ MySQLμμ
shopdb
λΌλ λ°μ΄ν°λ² μ΄μ€μmemberTBL
μ΄λΌλ ν μ΄λΈμ μμ±ν μ μμ΅λλ€. - ν μ΄λΈ ꡬ쑰λ νμμ λ°λΌ μμ ν μ μμΌλ©°, κ° νλλ μνλ λ°μ΄ν° νμ κ³Ό μ μ½ μ‘°κ±΄μ μ μ©ν μ μμ΅λλ€.
3οΈβ£ ν μ΄λΈ μ‘°ν.
- MySQLμμ ν
μ΄λΈ λ΄λΆμ λ°μ΄ν°λ₯Ό μ‘°ννλ €λ©΄
SELECT
λ¬Έμ μ¬μ©ν©λλ€. -
SELECT
λ¬Έμ ν μ΄λΈμ μ μ₯λ λ°μ΄ν°λ₯Ό κ²μνμ¬ μΆλ ₯νλ μν μ ν©λλ€.
1. ν μ΄λΈμ λͺ¨λ λ°μ΄ν°λ₯Ό μ‘°ννλ λ°©λ².
-
memberTBL
ν μ΄λΈμ λͺ¨λ λ°μ΄ν°λ₯Ό νμΈνλ €λ©΄ μλ λͺ λ Ήμ΄λ₯Ό μ¬μ©ν©λλ€.
SELECT * FROM memberTBL;
- μ΄ λͺ
λ Ήμ΄λ
memberTBL
ν μ΄λΈμ μλ λͺ¨λ ν(Row)κ³Ό μ΄(Column)μ κ°μ Έμ΅λλ€.
2. νΉμ 컬λΌ(Column,μ΄)λ§ μ‘°ννλ λ°©λ².
- νΉμ 컬λΌ(Column, μ΄)λ§ μ‘°ννκ³ μΆλ€λ©΄ μ΄ μ΄λ¦μ μ§μ νμ¬
SELECT
λ¬Έμ μμ±ν μ μμ΅λλ€.
SELECT memberID, memberName FROM memberTBL;
- μ λͺ
λ Ήμ΄λ
memberID
μmemberName
컬λΌμ ν΄λΉνλ κ°λ€λ§ μΆλ ₯ν©λλ€.
3. 쑰건μ λ§λ λ°μ΄ν°λ₯Ό μ‘°ννλ λ°©λ².
- νΉμ 쑰건μ λ§λ λ°μ΄ν°λ§ μ‘°ννκ³ μΆμ λλ
WHERE
μ μ μ¬μ©ν©λλ€. - μλ₯Ό λ€μ΄,
memberID
κ° βuser01βμΈ λ°μ΄ν°λ₯Ό μ‘°ννλ €λ©΄ μλμ κ°μ΄ ν μ μμ΅λλ€.
SELECT * FROM memberTBL WHERE memberID = 'user01';
4. ν μ΄λΈμ ꡬ쑰λ₯Ό νμΈνλ λ°©λ².
- ν
μ΄λΈμ ꡬ쑰(μ΄ μ΄λ¦, λ°μ΄ν° νμ
λ±)λ₯Ό νμΈνλ €λ©΄
DESCRIBE
λλSHOW COLUMNS
λͺ λ Ήμ μ¬μ©ν μ μμ΅λλ€.
DESCRIBE memberTBL;
λλ
SHOW COLUMNS FROM memberTBL;
- μ΄ λͺ λ Ήμ΄λ€μ ν μ΄λΈμ κ° μ΄μ λν μ 보(μ΄ μ΄λ¦, λ°μ΄ν° νμ , NULL νμ© μ¬λΆ λ±)λ₯Ό 보μ¬μ€λλ€.
- μ΄ λͺ
λ Ήμ΄λ€μ ν΅ν΄
memberTBL
ν μ΄λΈμ μ μ₯λ λ°μ΄ν°λ₯Ό μ½κ² νμΈν μ μμ΅λλ€.
4οΈβ£ ν μ΄λΈ μμ .
- μ΄λ―Έ μμ±λ ν
μ΄λΈμμ
memberID
λ₯Ό κΈ°λ³Έ ν€(Primary Key)λ‘ μ€μ νλ €λ©΄ALTER TABLE
λͺ λ Ήμ μ¬μ©νμ¬ ν μ΄λΈμ μμ ν μ μμ΅λλ€. - μλμ SQL λͺ
λ Ήμ΄λ₯Ό μ¬μ©νμ¬
memberID
λ₯Ό κΈ°λ³Έ ν€λ‘ μ€μ ν μ μμ΅λλ€.
1. ALTER TABLE
μ μ¬μ©νμ¬ Primary Key μΆκ°.
ALTER TABLE memberTBL
ADD PRIMARY KEY (memberID);
- μ΄ λͺ
λ Ήμ΄λ κΈ°μ‘΄μ
memberTBL
ν μ΄λΈμμmemberID
컬λΌμ κΈ°λ³Έ ν€λ‘ μ€μ ν©λλ€.
2. ν μ΄λΈ ꡬ쑰 νμΈ
-
DESCRIBE
λͺ λ Ήμ μ¬μ©νμ¬ ν μ΄λΈ ꡬ쑰λ₯Ό νμΈνκ³memberID
κ° κΈ°λ³Έ ν€λ‘ μ€μ λμλμ§ νμΈν μ μμ΅λλ€.DESCRIBE memberTBL;
3. μ£Όμ μ¬ν.
-
memberID
컬λΌμ μ€λ³΅λ κ°μ΄ μμ΄μΌ νλ©°, NULL κ°λ μμ΄μΌ ν©λλ€. - κΈ°λ³Έ ν€λ κ³ μ ν΄μΌ νλ―λ‘ μ€λ³΅λ κ°μ΄λ NULL κ°μ΄ μ‘΄μ¬νλ©΄ μλ¬κ° λ°μν μ μμ΅λλ€.
- λ§μ½ ν μ΄λΈμ μ΄λ―Έ μ€λ³΅λ κ°μ΄ μκ±°λ NULLμ΄ ν¬ν¨λ κ²½μ°, κΈ°λ³Έ ν€λ₯Ό μΆκ°νκΈ° μ μ λ°μ΄ν°λ₯Ό μ 리ν΄μΌ ν©λλ€.
4. μΆκ° μμ : μλ‘μ΄ ν μ΄λΈμμ Primary Key μ§μ
- λ§μ½ ν
μ΄λΈμ μ²μλΆν° μμ±νλ©΄μ
memberID
λ₯Ό κΈ°λ³Έ ν€λ‘ μ€μ νλ €λ©΄ λ€μκ³Ό κ°μ΄ ν μ μμ΅λλ€.
CREATE TABLE memberTBL (
memberID CHAR(8) NOT NULL PRIMARY KEY, -- 8κΈμ, κΈ°λ³Έν€
memberName CHAR(5) NOT NULL, -- 5κΈμ, NULL νμ© μ ν¨
memberAddress CHAR(20) NULL -- 20κΈμ, NULL νμ©
);
- μ΄λ κ² νλ©΄ ν
μ΄λΈμ μμ±ν λ
memberID
κ° κΈ°λ³Έ ν€λ‘ μ€μ λ©λλ€.