11 Thu
๋ฐ์ดํฐ ๋ถ์์ ์ํ ๊ณ ๊ธ SQL
OT
์์ผ๋ก ๋ฐฐ์ธ ๊ฒ
DML, Data Manipulation Language
ERD, Entity Relationship Diagram
๋ฐ์ดํฐ ํ์
ERD ์ฝ๋๋ฒ
์๋ธ ์ฟผ๋ฆฌ
์๋์ฐ ํจ์
์ง๊ณ ํจ์์ ์ผ์ข
์ฝํ ์๋ ์ข ์ข ๋์ค๋ ์ ํ
MySQL ๋ง๊ณ ๋ ๋ค๋ฅธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ค๋ฃฐ ์์
์ ๊ท ํฌํ์
MySQL ํจ์
DML (Data Manipulation Language)
์ง๊ธ๊น์ง๋ SELECT๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ๋ณด๊ธฐ๋ง ํ๋๋ฐ, ์ง๊ธ๋ถํฐ๋ ๋ฐ์ดํฐ๋ฅผ ์กฐ์ํ๋ ์ผ๊น์ง ํ ๊ฒ
INSERT : ๋ฐ์ดํฐ ์ถ๊ฐ
ํ ์ด๋ธ ์ ์ฒด์ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ๋ ๋ฒ
ํน์ ์ปฌ๋ผ์ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ๋ ๋ฒ
์ด ๋ ์ถ๊ฐํด์ฃผ์ง ์์ ์ปฌ๋ผ์๋ ์๋์ผ๋ก Null์ด ์ถ๊ฐ๋๋ค
DESC : ๋ฐ์ดํฐ ํ์ ํ์ธ
DESC : Describe
DESC ํ ์ด๋ธ
: ํ ์ด๋ธ์ structure๋ฅผ ํ์ธํ๋คint
: ์ ์varchar(10)
: ์ต๋ ๊ธธ์ด๊ฐ 10์ธ ๋ฌธ์์ดdate
: ๋ ์ง ์๊ฐํ ๋ฐ์ดํฐ
UPDATE : ๋ฐ์ดํฐ ๊ฐฑ์
์ปฌ๋ผ ์ ์ฒด์ ๋ฐ์ดํฐ ์ ๋ฐ์ดํธ
์ด ๋
=
๋ฅผ ์ง๊ธ๊น์ง๋ ๋น๊ต ์ฐ์ฐ์๋ก ์ฌ์ฉํ๋๋ฐ,SET
์์ ์ฌ์ฉํ๋=
๋ ๋์ (๋๋ ํ ๋น)์ฐ์ฐ์ ์ด๋ค.
ํน์ ์ปฌ๋ผ์ ํน์ ๋ฐ์ดํฐ๋ง ๊ฐฑ์ ํ๊ธฐ
LeetCode 627
DELETE : ๋ฐ์ดํฐ ์ญ์
UPDATE
์ ๋ฌธ๋ฒ์ด ๋น์ทํ ์ด๋ธ ์ ์ฒด์ ๋ฐ์ดํฐ ์ญ์ ํ๋ ๋ฐฉ๋ฒ
ํน์ ๋ฐ์ดํฐ๋ง ์ญ์ ํ๊ธฐ
์๋ธ์ฟผ๋ฆฌ ๋ง๋ณด๊ธฐ
FROM
์ดํ์SELECT
๊ตฌ๋ฌธ์ ์๋ธ์ฟผ๋ฆฌ ๋ผ๊ณ ํ๋ฉฐ, ์ด ์ฟผ๋ฆฌ๋ฅผdaily_status
๋ผ๋ ํ ์ด๋ธ์ด ์๋ค๊ณ ๊ฐ์ฃผํ ์ ์๋ค.์๋์ ๊ฐ์ด
FROM
์ ๋ฟ๋ง ์๋๋ผWHERE
์ ์์๋ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
DELETE WITH JOIN
DELETE FROM ํ ์ด๋ธ
์ด๋ผ๊ณ ๋ฐฐ์ ์ง๋งJOIN
์ ํ ๋์๋DELETE ํ ์ด๋ธ FROM ํ ์ด๋ธ JOIN ...
์ผ๋ก ์ฌ์ฉํ๊ฒ ๋๋ค. ์ด๋JOIN
ํ ํ ์ด๋ธ ์์ ์กฐ๊ฑด์ด ๋ง๋๋ผ๋ ์ ํ์ ์ผ๋ก ์ง์ธ ํ ์ด๋ธ์ ๊ฒฐ์ ํ๊ธฐ ์ํด์์ด๋ค.์ฝ๊ฒ ๋งํ๋ฉด ๋ ๊ฐ์ ํ ์ด๋ธ์ด
JOIN
๋์์ ๋ ๋ ๊ฐ์ ํ ์ด๋ธ์์ ๋ชจ๋ ์ญ์ ํ ์ง, ์ด๋ ํ์ชฝ์์ ์ญ์ ํ ์ง๋ฅผ ์ ํํ ์ ์๋๋ก ํ๊ธฐ ์ํจ
LeetCode 196
์๋ธ์ฟผ๋ฆฌ ๋๋ ์ด๋ ์กฐ์ธ์ ์ด์ฉํ ๋๋ฆฌํธ์ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ํ ์ ์๋ค.
ERD (Entity Relationship Diagram)
๊ฐ์ฒด๋ค ๊ฐ ๊ด๊ณ๋ฅผ ๋ณด๊ธฐ ์ํ ์ง๋
ERD์ 3๊ฐ์ง ์์
Entity
ํ ์ด๋ธ์ ์๋ฏธ ํ๋ค๊ณ ๋ด๋ ๋ฌด๋ฐฉ
Attribute
Entity์ ํน์ง. ์ปฌ๋ผ์ ์๋ฏธ ํ๋ค๊ณ ๋ด๋ ๋ฌด๋ฐฉ
์ปฌ๋ผ ์ด๋ฆ๊ณผ Key์ ๋ ํญ๋ชฉ์ผ๋ก ๋๋์ด์ ธ ์์
์ธ ํญ๋ชฉ์ผ๋ก ๋๋๋ฉด ์ปฌ๋ผ์ ๋ฐ์ดํฐ ํ์ ๊น์ง ํฌํจ
Key
์๋ณ์๋ผ๊ณ ๋ ๋ถ๋ฆฐ๋ค
PK : Primary key
PK์๋ ํ ์ด๋ธ ๋น ํ๋
๊ทธ๋ฆฌ๊ณ ์ค๋ณต๊ฐ์ด ์๋ค
FK : Foreign key
์ธ๋ถ ํค๋ผ๊ณ ๋ ํ๋ฉฐ ๋ค๋ฅธ ํ ์ด๋ธ์์ ์ฐธ์กฐ๋๋ ๊ฐ์ด๋ค.
one to many์ ์ฐ๊ฒฐ์ ์ one์ชฝ์ ์ธ๋ก์ ๋๊ฐ, many์ชฝ์ ์ผ์ ์ด ๋์ด์๋ค
Relationship
๋ฐ์ดํฐ ํ์
์ซ์
์ ์ : tinyint, smallint, mediumint, int ,bigint
์ ์์ ๋ฒ์ ์ฐจ์ด๋ง ์์
์ค์ : decimal, double, float
์ค์์ ๋ฒ์ ์ฐจ์ด๋ง ์์
๋ฌธ์ : varchar, char
various character, character์ ์ฝ์
๋ ์ง, ์๊ฐ
date : 1010-01-01 ~ 9999-12-31
datetime : 1010-01-01 00:00:00.000000 ~ 9999-12-31 23:59:59.999999
timestamp() = datetime() + timezone
์ด ๋ OrderDate๋ varchar์ด๋ค
ex) 12/8/1968
๋ฐ๋ผ์ date_add ๋ฑ์ ํจ์๋ ์ฌ์ฉ ๋ถ๊ฐ
์ด๋ด ๋๋
str_to_date()
ํจ์๋ฅผ ์ฌ์ฉํด์ผํจ(mysql ๊ธฐ์ค)
์ฐธ, ๊ฑฐ์ง
boolean
Last updated
Was this helpful?