[TIL] SQL/Database

HYERINยท2024๋…„ 2์›” 2์ผ

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
1/13
post-thumbnail

๐Ÿ“– ์ด๋ก 

๐Ÿ“Œ Database

์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์ด ๊ณต์œ ํ•˜์—ฌ ์‚ฌ์šฉํ•  ๋ชฉ์ ์œผ๋กœ ์ฒด๊ณ„ํ™”ํ•ด ํ†ตํ•ฉ, ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ ์ง‘ํ•ฉ์ฒด

๐Ÿ“Œ DBMS

์‚ฌ์šฉ์ž์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‚ฌ์ด์—์„œ ์‚ฌ์šฉ์ž์˜ ์š”๊ตฌ์— ๋”ฐ๋ผ ์ •๋ณด๋ฅผ ์ƒ์„ฑํ•ด์ฃผ๊ณ 
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ด€๋ฆฌํ•ด์ฃผ๋Š” ์†Œํ”„ํŠธ์›จ์–ด

๐Ÿ“Œ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
(RDB:Relational Database)

์„œ๋กœ๊ฐ„์— ๊ด€๊ณ„๊ฐ€ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ํ…Œ์ด๋ธ”๋“ค์„ ๋ชจ์•„๋‘” ๋ฐ์ดํ„ฐ ์ €์žฅ๊ณต๊ฐ„

๐Ÿ“Œ SQL

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ •์˜ / ์กฐ์ž‘ / ์ œ์–ด ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ์–ธ์–ด

๐Ÿ“Œ SQL ๊ตฌ์„ฑ

๋ฐ์ดํ„ฐ ์ •์˜ ์–ธ์–ด (DDL : Data Definition Language)

CREATE , ALTER , DROP ๋“ฑ์˜ ๋ช…๋ น์–ด


๋ฐ์ดํ„ฐ ์กฐ์ž‘ ์–ธ์–ด (DML : Data Manipulation Language)

INSERT , UPDATE , DELETE , SELECT ๋“ฑ์˜ ๋ช…๋ น์–ด


๋ฐ์ดํ„ฐ ์ œ์–ด ์–ธ์–ด (DCL : Data Control Language)

GRANT , REVOKE , COMMIT , ROLLBACK ๋“ฑ์˜ ๋ช…๋ น์–ด


๐Ÿ’ป ์‹ค์Šต

Database ๊ด€๋ฆฌ

root ๊ณ„์ •์œผ๋กœ mysql ์ ‘์†

% mysql -u root -p
Enter password:

Database ๋ชฉ๋ก ํ™•์ธ

show databases;

Database ์ƒ์„ฑ

create database <database>;

Database ์‚ฌ์šฉ

use <database>;

Database ์‚ญ์ œ

drop database <database>;

user ์กฐํšŒ

mysql ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ์ด๋™ ํ›„ ์กฐํšŒ

use mysql;
select host, user from user;

ํ˜„์žฌ PC์—์„œ๋งŒ ์ ‘์† ๊ฐ€๋Šฅํ•œ ์‚ฌ์šฉ์ž ์ƒ์„ฑ (HYERIN,1234)

create user 'username'@'localhost' 
identified by 'password'

์™ธ๋ถ€์—์„œ ์ ‘์† ๊ฐ€๋Šฅํ•œ ์‚ฌ์šฉ์ž ์ƒ์„ฑ (HYERIN,1234)

create user 'username'@'%'
identified by 'password'

๐Ÿšซ ์ ‘๊ทผ ๋ฒ”์œ„์— ๋”ฐ๋ผ ๊ฐ™์€ ์ด๋ฆ„์˜ ์‚ฌ์šฉ์ž์—ฌ๋„ ๋ณ„๋„๋กœ ์‚ญ์ œ

drop user 'username'@'localhost' //ํ˜„์žฌPC

drop user 'username'@'%' //์™ธ๋ถ€

user ๊ถŒํ•œ๊ด€๋ฆฌ

์‚ฌ์šฉ์ž์—๊ฒŒ ๋ถ€์—ฌ๋œ ๋ชจ๋“  ๊ถŒํ•œ ๋ชฉ๋ก ํ™•์ธ

show grants for 'username'@'localhost'

์‚ฌ์šฉ์ž์—๊ฒŒ ํŠน์ • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ชจ๋“  ๊ถŒํ•œ ๋ถ€์—ฌ

grant all on <database>.* to 'username'@'localhost'

์‚ฌ์šฉ์ž์—๊ฒŒ ํŠน์ • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ชจ๋“  ๊ถŒํ•œ ์‚ญ์ œ

revoke all on <database>.* from 'username'@'localhost'

โ–ถ๏ธ ์ˆ˜์ •๋‚ด์šฉ์ด ์ ์šฉ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ์ƒˆ๋กœ๊ณ ์นจ

flush privileges

๐Ÿงธ review

  • review ๋ผ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋งŒ๋“ค๊ณ  ํ™•์ธํ•˜๊ธฐ
 create database review;
  • ์™ธ๋ถ€์—์„œ๋„ ์ ‘์†๊ฐ€๋Šฅํ•œ ์‚ฌ์šฉ์ž ์ƒ์„ฑํ•˜๊ธฐ(ID:hyerin, PW:1234)
 create user 'hyerin'@'%' identified by '1234';
  • review์˜ ๋ชจ๋“ ๊ถŒํ•œ์„ hyerin์—๊ฒŒ ๋ถ€์—ฌํ•˜๊ณ  ํ™•์ธํ•˜๊ธฐ
 grant all on review.* to 'hyerin'@'%';
  • hyerin์—๊ฒŒ ๋ถ€์—ฌํ•œ review์— ๋Œ€ํ•œ ๊ถŒํ•œ์„ ์‚ญ์ œํ•˜๊ณ  ํ™•์ธํ•˜๊ธฐ
 revoke all on review.* from 'hyerin'@'%';
  • ์™ธ๋ถ€์—์„œ๋„ ์ ‘์†๊ฐ€๋Šฅํ•œ hyerin ์‚ญ์ œํ•˜๊ณ  ํ™•์ธํ•˜๊ธฐ
drop user 'hyerin'@'%';
  • review ๋ผ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‚ญ์ œํ•˜๊ณ  ํ™•์ธํ•˜๊ธฐ
drop database review;

๐Ÿšซ ํ•ญ์ƒ ๋ˆˆ์œผ๋กœ ํ™•์ธํ•˜๋Š” ์Šต๊ด€ ๋“ค์ด๊ธฐ

์‹ค์Šตํ™•์ธ


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