DAY2

Markยท2022๋…„ 5์›” 3์ผ
0
post-thumbnail

๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป ํŒจ์ŠคํŠธ์บ ํผ์Šค ๊ตญ๋น„์ง€์›๊ณผ์ • 'SQL๋กœ ์‹œ์ž‘ํ•˜๋Š”
๋ฐ์ดํ„ฐ ๋ถ„์„ ์ฒซ๊ฑธ์Œ' ๊ฐ•์˜ ๋‚ด์šฉ ์ •๋ฆฌ๋ฅผ ๋ชฉ์ ์œผ๋กœ ๊ฐœ์ธ ๊ณต๋ถ€์ฐจ ์ž‘์„ฑํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค.

โœ๏ธ ์ˆ˜๊ฐ• ์ค‘์ธ ๊ต์œก๊ณผ์ • : https://fastcampus.co.kr/b2g_kdc_sql
ย 

1. ๋ฐ์ดํ„ฐ ํƒ€์ž…

MySQL ๋ฐ์ดํ„ฐ ํƒ€์ž…

  • ์ •์ˆ˜ํ˜• : ์†Œ์ˆ˜์ ์ด ์—†๋Š” ์ˆซ์ž ๋ฐ์ดํ„ฐ ์˜ˆ) 123
  • ์‹ค์ˆ˜ํ˜• : ์†Œ์ˆ˜์ ์ด ์žˆ๋Š” ์ˆซ์ž ๋ฐ์ดํ„ฐ ์˜ˆ) 1.1
  • ๋ฌธ์žํ˜• : ํ…์ŠคํŠธ๋กœ ๊ตฌ์„ฑ๋œ ๋ฌธ์ž์—ด ๋ฐ์ดํ„ฐ ์˜ˆ) โ€œ๊ฐ€๋‚˜๋‹ค๋ผโ€
  • ๋‚ ์งœํ˜• : ๋‚ ์งœ์™€ ์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์˜ˆ) โ€œ2022-03-01โ€
    ย 

๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์•Œ์•„์•ผ ํ•˜๋Š”์ง€?

  • MySQL์—์„œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์ „์— ์ €์žฅ ๊ณต๊ฐ„์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ๋ฏธ๋ฆฌ ์ •ํ•ด์ค˜์•ผ ํ•œ๋‹ค.
  • ๋ฏธ๋ฆฌ ์ •ํ•ด๋‘” ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด ์•„๋‹ ๊ฒฝ์šฐ, ๋ฐ์ดํ„ฐ ์ €์žฅ์ด ๋ถˆ๊ฐ€๋Šฅ ํ•จ
    ย 

์ˆซ์žํ˜• ๋ฐ์ดํ„ฐ ํƒ€์ž…

1) ์ •์ˆ˜ํ˜•

๋ฐ์ดํ„ฐ ํƒ€์ž…๋ฐ”์ดํŠธ ์ˆ˜
TINYINT1
SMALLINT2
MEDIUMINT3
INT (๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ)4
BIGINT8

2) ์‹ค์ˆ˜ํ˜•

๋ฐ์ดํ„ฐ ํƒ€์ž…๋ฐ”์ดํŠธ ์ˆ˜
FLOAT (๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ)4
DOUBLE8

3) ๋ฌธ์žํ˜•

๋ฐ์ดํ„ฐ ํƒ€์ž…์ตœ๋Œ€ ๋ฐ”์ดํŠธ ์ˆ˜ํŠน์ง•
CHAR(n)255n์„ 1๋ถ€ํ„ฐ 255๊นŒ์ง€ ์ง€์ • ๊ฐ€๋Šฅ, ์ง€์ • ํ•˜์ง€ ์•Š์œผ๋ฉด 1์ด ์ž๋™ ์ž…๋ ฅ/ ๊ณ ์ • ๊ธธ์ด ๋ฌธ์ž์—ด ์ €์žฅ
VARCHAR(n)65535n์„ 1๋ถ€ํ„ฐ 65535๊นŒ์ง€ ์ง€์ • ๊ฐ€๋Šฅ, ์ง€์ • ์•ˆํ•˜๋ฉด ์‚ฌ์šฉ ๋ถˆ๊ฐ€ / ๋ณ€๋™ ๊ธธ์ด ๋ฌธ์ž์—ด ์ €์žฅ

(n) : ๊ด„ํ˜ธ์•ˆ์— ๋ช‡ ๋ฐ”์ดํŠธ๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์ธ์ง€ ์ž…๋ ฅํ•ด์ค˜์•ผ ํ•œ๋‹ค.

๊ณ ์ • ๊ธธ์ด ๋ฌธ์ž์—ด

  • ์ •ํ•ด์ง„ ๋งŒํผ์˜ ๊ณต๊ฐ„์„ ๋ชจ๋‘ ์‚ฌ์šฉ
  • CHAR(6)์— โ€œ๊ฐ€๋‚˜๋‹ค"๋ฅผ ์ €์žฅํ•  ๊ฒฝ์šฐ, 6๊ฐœ์˜ ๊ณต๊ฐ„ ์ค‘์—์„œ โ€œ๊ฐ€๋‚˜๋‹ค" 3๊ฐœ์˜ ๊ณต๊ฐ„๋งŒ ์ฐจ์ง€ํ•˜๊ณ , ๋‚จ์€ 3๊ฐœ์˜ ๊ณต๊ฐ„์€ ๊ทธ๋Œ€๋กœ ๋‘”๋‹ค.

๋ณ€๋™ ๊ธธ์ด ๋ฌธ์ž์—ด

  • ํ•„์š”ํ•œ ๋งŒํผ์˜ ๊ณต๊ฐ„๋งŒ ์‚ฌ์šฉ
  • VARCHAR(6)์— โ€œ๊ฐ€๋‚˜๋‹ค"๋ฅผ ์ €์žฅํ•  ๊ฒฝ์šฐ, 6๊ฐœ์˜ ๊ณต๊ฐ„ ์ค‘์—์„œ โ€œ๊ฐ€๋‚˜๋‹ค" 3๊ฐœ์˜ ๊ณต๊ฐ„๋งŒ ์ฐจ์ง€ํ•˜๊ณ , ๋‚จ์€ 3๊ฐœ์˜ ์ปดํ“จํ„ฐ๊ฐ€ ์ง€์šฐ๊ณ  ๋‹ค๋ฅธ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•จ

4) ๋‚ ์งœํ˜•

๋ฐ์ดํ„ฐ ํƒ€์ž…๋ฐ”์ดํŠธ ์ˆ˜
DATE3
DATETIME3
TIME4
YEAR1

ย ย 

2. ๋ฐ์ดํ„ฐ ๋‹ค๋ฃจ๊ธฐ

MySQL์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ฐฉ๋ฒ•์€ ์—‘์…€๊ณผ ์œ ์‚ฌํ•˜๋‹ค.

์ˆซ์žํ˜• ๋ฐ์ดํ„ฐ์˜ ๊ธฐ๋ณธ ํŠน์ง•

  • ์ˆซ์žํ˜• ๋ฐ์ดํ„ฐ๋Š” โ€˜์ˆ˜' ์ด๋‹ค.
  • ๋ฐ์ดํ„ฐ๊ฐ„ ์—ฐ์‚ฐ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
    ย 

๋ฌธ์žํ˜• ๋ฐ์ดํ„ฐ ํŠน์ง•

  • ๋ฐ˜๋“œ์‹œ ๋”ฐ์˜ดํ‘œ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•ด์•ผ ํ•จ
  • ๋”ฐ์˜ดํ‘œ๊ฐ€ ์—†๋Š” ๋ฌธ์ž๋Š” ํ‚ค์›Œ๋“œ๋‚˜ ํ•จ์ˆ˜, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค/ํ…Œ์ด๋ธ”/์ปฌ๋Ÿผ์˜ ์ด๋ฆ„์œผ๋กœ ์ธ์‹ํ•จ
    ย 

๋ฐ์ดํ„ฐ ํƒ€์ž… ๊ฐ„ ํƒ€์ž… ๋ณ€ํ™˜

์ˆซ์žํ˜•, ๋ฌธ์žํ˜•, ๋‚ ์งœํ˜• ๋ฐ์ดํ„ฐ๋Š” ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋กœ ํƒ€์ž… ๋ณ€ํ™˜์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
ย ย 
ย 

3. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‹ค๋ฃจ๊ธฐ

ํ…Œ์ด๋ธ”์ด๋ž€?

  • ํ–‰๊ณผ ์—ด๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐ์ดํ„ฐ ํ‘œ
    ย 

ํ…Œ์ด๋ธ” ๊ตฌ์„ฑ ์š”์†Œ

1) ์ปฌ๋Ÿผ(์—ด)

  • ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ํ‹€
  • ์ปฌ๋Ÿผ์˜ ์ด๋ฆ„๊ณผ ๋ฐ์ดํ„ฐ ํƒ€์ž…์€ ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ค ๋•Œ ๋ฏธ๋ฆฌ ์ •ํ•ด์ง
  • ์ปฌ๋Ÿผ์˜ ์ด๋ฆ„์€ ๋™์ผํ•œ ํ…Œ์ด๋ธ” ๋‚ด์— ์ค‘๋ณต๋  ์ˆ˜ ์—†์Œ
  • ํ…Œ์ด๋ธ”์€ ๋ฐ˜๋“œ์‹œ 1๊ฐœ ์ด์ƒ์˜ ์ปฌ๋Ÿผ์„ ๊ฐ€์ ธ์•ผ ํ•จ

2) ๋กœ์šฐ(ํ–‰)

  • ๊ด€๊ณ„๋œ ๊ฐ’ ๋ฆฌ์ŠคํŠธ
  • ํ•˜๋‚˜์˜ ๋กœ์šฐ๋Š” ํ•˜๋‚˜์˜ ๊ด€๊ณ„๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์˜๋ฏธํ•จ
  • ๊ฐ™์€ ํ…Œ์ด๋ธ” ์•ˆ์—์„œ ๋กœ์šฐ๋Š” ํ•ญ์ƒ ๋™์ผํ•œ ๊ตฌ์กฐ
  • ๋กœ์šฐ๋ฅผ ๋‹จ์œ„๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…

3) ๊ฐ’

  • ์ปฌ๋Ÿผ์— ์†ํ•˜๋Š” ์‹ค์ œ ๋ฐ์ดํ„ฐ ๊ฐ’
  • ์ปฌ๋Ÿผ์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…๋งŒ์„ ๊ฐ’์œผ๋กœ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Œ
    ย 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์˜๋ฏธ

  • ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ
  • ํ…Œ์ด๋ธ”์„ ์ €์žฅํ•ด๋‘๋Š” ์ €์žฅ์†Œ = ์Šคํ‚ค๋งˆ
    ย 

ํ…Œ์ด๋ธ”๊ณผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ƒ์„ฑ ์ˆœ์„œ

  • ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ์ƒ์„ฑ โ†’ ํ…Œ์ด๋ธ” ์ƒ์„ฑ
    ย 
    ย 

4. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋งŒ๋“ค๊ธฐ

์ฟผ๋ฆฌ ์ž‘์„ฑ ์‹œ ์ฃผ์˜ํ•  ์ 

  • ์ฟผ๋ฆฌ๊ฐ€ ๋๋‚  ๋•Œ๋Š” ๋ช…๋ น์„ ๋งˆ์นœ๋‹ค๋Š” ์˜๋ฏธ์˜ ;(์„ธ๋ฏธ์ฝœ๋ก )์„ ๋ถ™์—ฌ์•ผ ํ•จ
  • ํ‚ค์›Œ๋“œ๋Š” ์•ฝ์† (create database)
    ย 

์ฟผ๋ฆฌ ๋ฌธ๋ฒ• ์•Œ์•„๋ณด๊ธฐ!

1) ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ

CREATE DATABASE[๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ด๋ฆ„];

2) ํ˜„์žฌ ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ชฉ๋ก ํ™•์ธ

  • โ€˜Sโ€™ ๊ผญ ๋ถ™์—ฌ์•ผ ํ•จ!
SHOW DATABASES; 

3) [๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ด๋ฆ„] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ• ๊ฒŒ์š”.

  • ํ…Œ์ด๋ธ” ์ƒ์„ฑ์‹œ use๋ฅผ ์‚ฌ์šฉํ•ด์ฃผ๋ฉด ๋ฒˆ๊ฑฐ๋กญ์ง€ ์•Š์Œ
  • use๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ์ƒ์„ฑํ•˜๊ณ ์ž ํ•˜๋Š” ํ…Œ์ด๋ธ” ๋ช… ์•ž์— [๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ด๋ฆ„].[ํ…Œ์ด๋ธ” ์ด๋ฆ„] ์œผ๋กœ ์ƒ์„ฑํ•ด์•ผ ํ•จ
USE [๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ด๋ฆ„];

4) ํ…Œ์ด๋ธ” ๋งŒ๋“ค๊ธฐ

CREATE TABLE [ํ…Œ์ด๋ธ” ์ด๋ฆ„] (
	[์ปฌ๋Ÿผ ์ด๋ฆ„] [๋ฐ์ดํ„ฐ ํƒ€์ž…],	
);

์ด๋ฆ„ ์ •ํ•˜๊ธฐ ๊ทœ์น™

  • ๋ฌธ์ž, ์ˆซ์ž, _๋ฅผ ์‚ฌ์šฉ
  • ์˜๋ฌธ ์†Œ๋ฌธ์ž ์‚ฌ์šฉ
  • ์˜ˆ์•ฝ์–ด๋Š” ์‚ฌ์šฉ ๋ถˆ๊ฐ€
  • ๋‹จ์–ด์™€ ๋‹จ์–ด ์‚ฌ์ด์—๋Š” ๋นˆ์นธ ๋Œ€์‹  ๋ฅผ ์‚ฌ์šฉ ์˜ˆ)new_age
  • ๋ฌธ์ž๋กœ ์‹œ์ž‘
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ด๋ฆ„์€ ์ค‘๋ณต๋  ์ˆ˜ ์—†์Œ
  • ํ‚ค์›Œ๋“œ๋‚˜ ํ•จ์ˆ˜๋ช…์€ ๋Œ€๋ฌธ์ž ์‚ฌ์šฉ
  • ์‚ฌ์šฉ์ž๊ฐ€ ์ •์˜ํ•œ ์ด๋ฆ„์—๋Š” ์†Œ๋ฌธ์ž ์‚ฌ์šฉ

5) ํ…Œ์ด๋ธ” ์ด๋ฆ„ ๋ณ€๊ฒฝํ•˜๊ธฐ

ALTER TABLE [ํ…Œ์ด๋ธ” ์ด๋ฆ„] RENAME [๋ณ€๊ฒฝํ•  ํ…Œ์ด๋ธ” ์ด๋ฆ„];

6) ์ƒˆ๋กœ์šด ์ปฌ๋Ÿผ ์ถ”๊ฐ€ํ•˜๊ธฐ

ALTER TABLE [ํ…Œ์ด๋ธ” ์ด๋ฆ„] ADD COLUMN [์ปฌ๋Ÿผ ์ด๋ฆ„][ํ…Œ์ดํ„ฐ ํƒ€์ž…];

7) ๊ธฐ์กด ์ปฌ๋Ÿผ ํƒ€์ž… ๋ณ€๊ฒฝ

ALTER TABLE [ํ…Œ์ด๋ธ” ์ด๋ฆ„] MODIFY COLUMN [์ปฌ๋Ÿผ ์ด๋ฆ„][์ƒˆ๋กœ์šด ํ…Œ์ดํ„ฐ ํƒ€์ž…];

8) ๊ธฐ์กด ์ปฌ๋Ÿผ ์ด๋ฆ„๊ณผ ํƒ€์ž… ๋ณ€๊ฒฝํ•˜๊ธฐ

ALTER TABLE [ํ…Œ์ด๋ธ” ์ด๋ฆ„] CHANGE COLUMN [์ปฌ๋Ÿผ ์ด๋ฆ„][์ƒˆ๋กœ์šด ์ปฌ๋Ÿผ ์ด๋ฆ„][์ƒˆ๋กœ์šด ํ…Œ์ดํ„ฐ ํƒ€์ž…];

9) ์ปฌ๋Ÿผ ์ง€์šฐ๊ธฐ

ALTER TABLE [ํ…Œ์ด๋ธ” ์ด๋ฆ„] DROP COLUMN [์ปฌ๋Ÿผ ์ด๋ฆ„];

ย 

5. ํ…Œ์ด๋ธ” ์ง€์šฐ๊ธฐ

DROP ์€ ํ…Œ์ด๋ธ” ์ž์ฒด๋ฅผ ์ง€์šฐ์ง€๋งŒ TRUNCATE ๊ฐ’๋งŒ ์ง€์›€

1) ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ง€์šฐ๊ธฐ

DROP DATABASE [๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ด๋ฆ„];

2) ํ…Œ์ด๋ธ” ์ง€์šฐ๊ธฐ

DROP TABLE [ํ…Œ์ด๋ธ” ์ด๋ฆ„];

3) ํ…Œ์ด๋ธ” ๊ฐ’๋งŒ ์ง€์šฐ๊ธฐ

TRUNCATE TABLE [ํ…Œ์ด๋ธ” ์ด๋ฆ„];

4) ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค/ ํ…Œ์ด๋ธ”์ด ์กด์žฌํ•œ๋‹ค๋ฉด ์ง€์šฐ๊ธฐ

DROP DATABASE IF EXISTS [๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ด๋ฆ„];
DROP TABLE IF EXISTS [ํ…Œ์ด๋ธ” ์ด๋ฆ„];

ย ย 
ย 

6. ๋ฐ์ดํ„ฐ ์‚ฝ์ž…, ์‚ญ์ œ, ์ˆ˜์ •ํ•˜๊ธฐ

1) ๋ฐ์ดํ„ฐ ํ•˜๋‚˜ ์‚ฝ์ž…ํ•˜๊ธฐ

  • ์ปฌ๋Ÿผ ์ด๋ฆ„๊ณผ ๊ฐ’์— ๋Œ€ํ•œ ๋ฆฌ์ŠคํŠธ ๊ฐฏ์ˆ˜๊ฐ€ ์ผ์น˜ํ•ด์•ผ ํ•จ
INSERT INTO [ํ…Œ์ด๋ธ” ์ด๋ฆ„] ([์ปฌ๋Ÿผ1 ์ด๋ฆ„], [์ปฌ๋Ÿผ2 ์ด๋ฆ„])
VALUES([์ปฌ๋Ÿผ1 ๊ฐ’], [์ปฌ๋Ÿผ2 ๊ฐ’]) // ๊ฐ๊ฐ์˜ ๋กœ์šฐ๋Š” ํ•˜๋‚˜์˜ ๊ด„ํ˜ธ๋กœ ์ด๋ฃจ์–ด์ ธ์•ผ ํ•œ๋‹ค. 

2) ๋ฐ์ดํ„ฐ ์‚ญ์ œํ•˜๊ธฐ

DELETE FROM [ํ…Œ์ด๋ธ” ์ด๋ฆ„] WHERE [์กฐ๊ฑด ๊ฐ’]; // ์กฐ๊ฑด์— ํ•ด๋‹นํ•˜๋Š” ๋กœ์šฐ๋งŒ ์‚ญ์ œ

3) ๋ฐ์ดํ„ฐ ์ˆ˜์ •ํ•˜๊ธฐ

UPDATE [ํ…Œ์ด๋ธ” ์ด๋ฆ„] SET [์ปฌ๋Ÿผ ์ด๋ฆ„]=[์ƒˆ ๊ฐ’] WHERE [์กฐ๊ฑด ๊ฐ’]; 
profile
๊ฐœ์ธ ๊ณต๋ถ€ ์ •๋ฆฌ

0๊ฐœ์˜ ๋Œ“๊ธ€