Bibi's DevLog ๐Ÿค“๐ŸŽ

[MySQL] MySQL ๊ธฐ๋ณธ ๋ณธ๋ฌธ

๐Ÿ–ฅ BE ๋ฐฑ์—”๋“œ/Database

[MySQL] MySQL ๊ธฐ๋ณธ

๋น„๋น„ bibi 2021. 1. 28. 15:53

์ด ๊ธ€์€ ์ธํ”„๋Ÿฐ ์ƒํ™œ์ฝ”๋”ฉ-DATABASE 1&2๋ฅผ ๋ณด๊ณ  ์ •๋ฆฌํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

MySQL ์˜ ๊ตฌ์กฐ

MySQL์˜ ๊ตฌ์„ฑ์š”์†Œ๋Š” ์„ธ ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.
: ํ‘œ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(์Šคํ‚ค๋งˆ), ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„.

mySQL๊ตฌ์กฐ

  1. MySQL๊ณผ ๊ฐ™์€ ๊ด€๊ณ„ํ˜•DB๋Š” _๋ฐ์ดํ„ฐ_๋ฅผ 'ํ‘œ table'๋กœ ์ €์žฅํ•œ๋‹ค.

  2. ํ‘œ๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ๊ฐ€ ๋˜๋ฉด ํ‘œ๋ฅผ ์ •๋ฆฌํ•  ํ•„์š”๊ฐ€ ์ƒ๊ธด๋‹ค.
    = ํŒŒ์ผ์„ ํด๋”๋กœ ๋ฌถ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ.
    ์ด๋ ‡๊ฒŒ _์„œ๋กœ ์—ฐ๊ด€๋œ ๋ฐ์ดํ„ฐ(ํ‘œ)๋ฅผ ๊ทธ๋ฃนํ•‘ํ•œ ๊ฒƒ_์„ '๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค database'๋ผ๊ณ  ํ•œ๋‹ค. ('๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค'๋ผ๋Š” ๊ฐœ๋…๊ณผ ๋‹ฌ๋ฆฌ ๊ด€๊ณ„ํ˜•DB์—์„œ ํ‘œ๋ฅผ ๋ฌถ๋Š” ๋‹จ์œ„์ž„. ์ด๋ฆ„์ด ๊ฐ™์„ ๋ฟ)

_MySQL_์—์„œ๋Š” ์ด๋Ÿฐ ํ˜ผ๋™์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด '๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค' ๋Œ€์‹  '์Šคํ‚ค๋งˆ schema' ๋ผ๊ณ ๋„ ํ•œ๋‹ค.

  1. ๋งŽ์•„์ง„ ์Šคํ‚ค๋งˆ๋“ค์„ ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด '๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„ database server' ๋ผ๊ณ  ํ•œ๋‹ค.

(์šฐ๋ฆฌ๊ฐ€ MySQL ํ”„๋กœ๊ทธ๋žจ์„ ์„ค์น˜ํ•œ ๊ฒƒ = ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„ ๋ฅผ ์„ค์น˜ํ•œ ๊ฒƒ์ด๋‹ค.)

MySQL ์„œ๋ฒ„ ์ ‘์†

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์—ฌ๋Ÿฌ ํšจ์šฉ์ด ์žˆ์œผ๋ฉฐ, ๊ทธ ์ค‘ ํ•˜๋‚˜๊ฐ€ '๋ณด์•ˆ'์ด๋‹ค.

DB๋Š” ํŒŒ์ผ๊ณผ ๋‹ฌ๋ฆฌ ์ž์ฒด์  ๋ณด์•ˆ์ฒด๊ณ„๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ข€๋” ์•ˆ์ „ํ•˜๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ด€ํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ถŒํ•œ ๊ธฐ๋Šฅ์ด ์žˆ์–ด ์–ด๋–ค ์‚ฌ์šฉ์ž์—๊ฒŒ๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค&ํ‘œ์— ๋Œ€ํ•œ CRUD๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๊ณ , ์–ด๋–ค ์‚ฌ์šฉ์ž์—๊ฒŒ๋Š” ํŠน์ • ํ‘œ์— ๋Œ€ํ•œ ์ˆ˜์ • ๊ถŒํ•œ๋งŒ ๋ถ€์—ฌํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

-u : user(์‚ฌ์šฉ์ž)์˜ ์•ฝ์ž์ด๋‹ค.
-uroot : root์‚ฌ์šฉ์ž = ๊ด€๋ฆฌ์ž๋กœ ์ ‘์†ํ•˜๊ฒ ๋‹ค.
โ€ป ๊ด€๋ฆฌ์ž๋Š” ๋ชจ๋“  ๊ถŒํ•œ์ด ์—ด๋ ค์žˆ์Œ. ๋”ฐ๋ผ์„œ ํ•ญ์ƒ root๋กœ ์ ‘์†ํ•ด DB๋ฅผ ๋‹ค๋ฃจ๊ธฐ๋ณด๋‹จ ํ‰์†Œ์—๋Š” ๋ณ„๋„์˜ ์‚ฌ์šฉ์ž๋ฅผ ๋งŒ๋“ค์–ด์„œ ๋‹ค๋ฃจ๊ณ , ์ค‘์š”ํ•  ๋•Œ๋งŒ root๋กœ ์ ‘์†ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

-uegoing : egoing์ด๋ผ๋Š” ์‚ฌ์šฉ์ž๋กœ ์ ‘์†ํ•˜๊ฒ ๋‹ค.

-p : passwordํŒจ์Šค์›Œ๋“œ์˜ ์•ฝ์ž์ด๋‹ค. ์ด ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์—”ํ„ฐ๋ฅผ ๋ˆ„๋ฅด๋ฉด Enter password: ์™€ ํ•จ๊ป˜ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

โ€ป ๋งŒ์•ฝ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์žŠ์–ด๋ฒ„๋ ธ๋‹ค๋ฉด MySQL password forgot ๋“ฑ์œผ๋กœ ๊ตฌ๊ธ€๋งํ•ด ์กฐ์น˜ํ•˜๋ฉด ๋œ๋‹ค.

์ด๋ ‡๊ฒŒ -uroot -p ๋กœ ์ ‘์†ํ•˜๊ณ  ๋‚˜๋ฉด ๋น„๋กœ์†Œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„์˜ ๋‹ด์„ ๋„˜์€ ๊ฒƒ. ์ด์ œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(์Šคํ‚ค๋งˆ) ๋ฅผ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋‹ค!

MySQL ์Šคํ‚ค๋งˆ์˜ ์‚ฌ์šฉ

  • mySQL์— ์ ‘์†ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด์ œ ์Šคํ‚ค๋งˆ๋ฅผ ๋งŒ๋“ค๊ณ  ํ‘œ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

(mySQL๋ช…๋ น์–ด)

mySQL์—์„œ ์กฐ์ž‘์–ด๋Š” ๋Œ€๋ฌธ์ž๋กœ / ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค,ํ‘œ, ์นผ๋Ÿผ์—๋Š” ์†Œ๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. ๊ณต๋ฐฑ ๋Œ€์‹  _๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(์Šคํ‚ค๋งˆ) ๋งŒ๋“ค๊ธฐ
    : CREATE DATABASE ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๋ฆ„;

โ€ป ; : ๋ช…๋ น์ด ๋๋‚ฌ์Œ์„ ์•Œ๋ฆฌ๋Š” ๋ถ€ํ˜ธ. ๋ฐ˜๋“œ์‹œ ๋ถ™์—ฌ์•ผ.

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(์Šคํ‚ค๋งˆ) ์‚ญ์ œํ•˜๊ธฐ
    : DROP DATABASE ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๋ฆ„;
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์กฐํšŒํ•˜๊ธฐ(์ƒ์„ฑ๋˜์—ˆ๋Š”์ง€ ํ™•์ธ)..
    : SHOW DATABASES; DATABASES ์ด๋‹ค!
  • ํŠน์ • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‚ฌ์šฉํ•˜๊ธฐ
    : USE ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๋ฆ„;
    ์ดํ›„ ์ž…๋ ฅํ•˜๋Š” ๋ช…๋ น์–ด๋Š” USE์ดํ•˜์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด์˜ ํ‘œ์— ๋Œ€ํ•ด ์ ์šฉ๋œ๋‹ค.

SQL๊ณผ ํ…Œ์ด๋ธ” ๊ตฌ์กฐ

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์—„์ฒญ๋‚˜๊ฒŒ ๋งŽ๊ณ  ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ค„์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ํ‘œ ๋“ฑ ๋งŽ์€ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๋Š” ๊ฒƒ.

์ด์ œ๋Š” SQL์ด๋ผ๋Š” ์ปดํ“จํ„ฐ ์–ธ์–ด๋ฅผ ๋ฐฐ์šธ ๊ฒƒ.

  • SQL = Structured ๊ตฌ์กฐํ™”๋œ Query ์งˆ๋ฌธ Language ์–ธ์–ด
    query language=์งˆ์˜์–ด= ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์ •๋ณด ์‹œ์Šคํ…œ์— ์งˆ์˜๋ฅผ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๊ณ ๊ธ‰ ์ปดํ“จํ„ฐ ์–ธ์–ด์ด๋‹ค.
    ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„(MySQL)์™€ ์ •ํ•ด์ง„ ์–ธ์–ด(SQL)๋กœ ์†Œํ†ตํ•ด์•ผ ์„œ๋ฒ„์—๊ฒŒ ๋ช…๋ น์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋‚ด๋ฆด ์ˆ˜ ์žˆ๋‹ค.
  • SQL์€ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์–ธ์–ด๋ณด๋‹ค ์‰ฝ๋‹ค.
    ๊ทธ๋ฆฌ๊ณ  ์ค‘์š”ํ•˜๋‹ค.
  • SQL์€ ๋ชจ๋“  ๊ด€๊ณ„ํ˜•๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๊ณตํ†ต์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ํ‘œ์ค€ํ™”๋œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์–ธ์–ด์ด๋‹ค.

ํ‘œ=ํ…Œ์ด๋ธ”table ๊ตฌ์กฐ

mysqlํ…Œ์ด๋ธ”๊ตฌ์กฐ

  • ํ‘œ์˜ ๊ฐ€๋กœ์ค„ = ํ–‰ = row = record.
    SQL์—์„œ row = ๋ฐ์ดํ„ฐ ํ•œ ๊ฑด์„ ์˜๋ฏธํ•œ๋‹ค.
  • ํ‘œ์˜ ์„ธ๋กœ์ค„ = ์—ด = column
    SQL์—์„œ column = ๋ฐ์ดํ„ฐ์˜ ํƒ€์ž…/๊ตฌ์กฐ๋ฅผ ์˜๋ฏธํ•œ๋‹ค.
  • ์œ„์˜ ํ‘œ์—์„œ row = 2 (๋ฐ์ดํ„ฐ๊ฐ€ 2๊ฑด์ด๋ฏ€๋กœ),
    column = 4์ด๋‹ค.