Search

MySQL ๊ธฐ์ดˆ๊ฐ€์ด๋“œ

MySQL ๊ธฐ์ดˆ ๊ฐ€์ด๋“œ

MySQL ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ์ดˆ ๋‚ด์šฉ์„ ์•Œ์•„๋ด…๋‹ˆ๋‹ค.
โ€ข
๊ณ„์ • ์ƒ์„ฑ
โ€ข
๊ถŒํ•œ ๋ถ€์—ฌ
โ€ข
์Šคํ‚ค๋งˆ ์ƒ์„ฑ
โ€ข
ํ…Œ์ด๋ธ” ์ƒ์„ฑ
โ€ข
๋ฐ์ดํ„ฐ ์ถ”๊ฐ€
โ€ข
๋ฐ์ดํ„ฐ ์กฐํšŒ
โ€ข
๋ฐ์ดํ„ฐ ์ˆ˜์ •
โ€ข
๋ฐ์ดํ„ฐ ์‚ญ์ œ
โ€ข
ํ…Œ์ด๋ธ” ์ˆ˜์ •
โ€ข
ํ…Œ์ด๋ธ” ์‚ญ์ œ

๊ณ„์ • ์ƒ์„ฑ

MySQL ์‚ฌ์šฉ์ž ๊ณ„์ •์„ ์ƒ์„ฑํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
CREATE USER '์‚ฌ์šฉ์ž๋ช…'@'ํ˜ธ์ŠคํŠธ' IDENTIFIED BY '๋น„๋ฐ€๋ฒˆํ˜ธ';
Python
๋ณต์‚ฌ

ํ˜ธ์ŠคํŠธ

โ€ข
'localhost' : ํ˜„์žฌ PC ์—์„œ๋งŒ ์ ‘์† ๊ฐ€๋Šฅ
โ€ข
'%' : ๋ชจ๋“  ํ˜ธ์ŠคํŠธ์—์„œ ์ ‘์† ๊ฐ€๋Šฅ
โ€ข
'์„œ๋ฒ„ip์ฃผ์†Œ' : 200.xxx.xxx.xxx ์—์„œ๋งŒ ์ ‘์† ๊ฐ€๋Šฅ
CREATE USER 'aloha'@'%' IDENTIFIED BY '123456';
Python
๋ณต์‚ฌ

๊ถŒํ•œ ๋ถ€์—ฌ

์ƒ์„ฑํ•œ ๊ณ„์ •์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฐ ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค.
GRANT ๊ถŒํ•œ ON ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ช….ํ…Œ์ด๋ธ”๋ช… TO '์‚ฌ์šฉ์ž๋ช…'@'ํ˜ธ์ŠคํŠธ';
Python
๋ณต์‚ฌ
โ€ข
aloha ๋ผ๋Š” ๊ณ„์ •์— ๋ชจ๋“  ๊ถŒํ•œ ๋ถ€์—ฌํ•˜๊ธฐ
GRANT ALL PRIVILEGES ON *.* TO 'aloha'@'%' WITH GRANT OPTION;
Python
๋ณต์‚ฌ
โ€ข
ALL PRIVILEGES : ๋ชจ๋“  ๊ถŒํ•œ (DBA, ... ๋“ฑ)
โ€ข
. : ๋ชจ๋“  ์Šคํ‚ค๋งˆ์˜ ๋ชจ๋“  ํ…Œ์ด๋ธ”์„ ์˜๋ฏธ
โ€ข
WITH GRANT OPTION : ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๋Š” ๊ถŒํ•œ๋„ ์ง€์ •

์Šคํ‚ค๋งˆ ์ƒ์„ฑ

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด์— ์Šคํ‚ค๋งˆ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ์กฐํ™”ํ•ฉ๋‹ˆ๋‹ค.

์Šคํ‚ค๋งˆ๋ž€?

โ€ข
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด์—์„œ ๋ฐ์ดํ„ฐ์˜ ๊ตฌ์กฐ๋ฅผ ์ •์˜ํ•˜๋Š” ๊ฐœ๋…์ž…๋‹ˆ๋‹ค.
โ€ข
์Šคํ‚ค๋งˆ๋Š” ํ…Œ์ด๋ธ”, ์—ด, ์ธ๋ฑ์Šค, ์ œ์•ฝ ์กฐ๊ฑด ๋“ฑ๊ณผ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ์ฒด๋“ค์˜ ์ง‘ํ•ฉ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.
โ€ข
MySQL์—์„œ๋Š” ์Šคํ‚ค๋งˆ๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(database)๋ผ๊ณ  ๋ถ€๋ฅด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.
CREATE DATABASE ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ช…;
Python
๋ณต์‚ฌ
CREATE DATABASE aloha;
Python
๋ณต์‚ฌ

ํ…Œ์ด๋ธ” ์ƒ์„ฑ

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค.

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

โ€ข
ํ–‰(row)๊ณผ ์—ด(column)์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ๊ตฌ์กฐ
โ€ข
ํ…Œ์ด๋ธ”์˜ ํ–‰์€ ์ˆœ์„œ๋ฅผ ๊ฐ€์ง€์ง€ ์•Š์Œ
โ€ข
๊ฐ ํ–‰์„ ๊ณ ์œ ํ•˜๊ฒŒ ์‹๋ณ„ํ•˜๋Š” ์—ด์„ ๊ฐ–์Œ (์‹๋ณ„์ž)
โ€ข
์ œ์•ฝ ์กฐ๊ฑด์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Œ
CREATE TABLE ํ…Œ์ด๋ธ”๋ช… ( ์ปฌ๋Ÿผ๋ช…1 ๋ฐ์ดํ„ฐํƒ€์ž… [NULL/NOT NULL] [DEFAULT ๊ธฐ๋ณธ๊ฐ’] [์ œ์•ฝ์กฐ๊ฑด], ์ปฌ๋Ÿผ๋ช…2 ๋ฐ์ดํ„ฐํƒ€์ž… [NULL/NOT NULL] [DEFAULT ๊ธฐ๋ณธ๊ฐ’] [์ œ์•ฝ์กฐ๊ฑด], ์ปฌ๋Ÿผ๋ช…3 ๋ฐ์ดํ„ฐํƒ€์ž… [NULL/NOT NULL] [DEFAULT ๊ธฐ๋ณธ๊ฐ’] [์ œ์•ฝ์กฐ๊ฑด], ... ) COMMENT='ํ…Œ์ด๋ธ” ์„ค๋ช…';
Python
๋ณต์‚ฌ
โ€ข
๊ฒŒ์‹œ๊ธ€ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•˜๋Š” SQL
CREATE TABLE Posts ( post_id INT AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255) NOT NULL, content TEXT, author VARCHAR(100) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
Python
๋ณต์‚ฌ

๋ฐ์ดํ„ฐ ์ถ”๊ฐ€

ํ…Œ์ด๋ธ”์˜ ํ–‰(๋ฐ์ดํ„ฐ)๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” SQL ๋ฌธ์žฅ์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.
INSERT INTO ํ…Œ์ด๋ธ”๋ช…( ์ปฌ๋Ÿผ1, ์ปฌ๋Ÿผ2, ์ปฌ๋Ÿผ3, ... ) VALUES ( ๊ฐ’1, ๊ฐ’2, ๊ฐ’3, ... );
Python
๋ณต์‚ฌ
INSERT INTO Posts (title, content, author) VALUES ('๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ', '๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ', '์ž‘์„ฑ์ž');
Python
๋ณต์‚ฌ

๋ฐ์ดํ„ฐ ์กฐํšŒ

ํ…Œ์ด๋ธ”์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค.
SELECT * FROM ํ…Œ์ด๋ธ”๋ช… WHERE ์กฐ๊ฑด GROUP BY ๊ทธ๋ฃน๊ธฐ์ค€์ปฌ๋Ÿผ HAVING ๊ทธ๋ฃน ์กฐ๊ฑด ORDER BY ์ •๋ ฌ๊ธฐ์ค€์ปฌ๋Ÿผ [ASC | DESC] -- ASC :์˜ค๋ฆ„์ฐจ์ˆœ, DESC ๋‚ด๋ฆผ์ฐจ์ˆœ ;
Python
๋ณต์‚ฌ
SELECT * FROM Posts;
Python
๋ณต์‚ฌ

๋ฐ์ดํ„ฐ ์ˆ˜์ •

ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.
UPDATE ํ…Œ์ด๋ธ”๋ช… SET ์ปฌ๋Ÿผ๋ช…1 = '์ˆ˜์ •ํ•  ๊ฐ’' ,์ปฌ๋Ÿผ๋ช…2 = '์ˆ˜์ •ํ•  ๊ฐ’' ,... WHERE ์กฐ๊ฑด;
Python
๋ณต์‚ฌ
UPDATE Posts SET title = '์ˆ˜์ •๋œ ์ œ๋ชฉ' WHERE post_id = 1;
Python
๋ณต์‚ฌ

๋ฐ์ดํ„ฐ ์‚ญ์ œ

ํ…Œ์ด๋ธ”์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.
DELETE FROM ํ…Œ์ด๋ธ”๋ช… WHERE ์กฐ๊ฑด;
Python
๋ณต์‚ฌ
DELETE FROM Posts WHERE post_id = 1;
Python
๋ณต์‚ฌ

ํ…Œ์ด๋ธ” ์ˆ˜์ •

์ด๋ฏธ ์ƒ์„ฑ๋œ ํ…Œ์ด๋ธ”์˜ ๊ตฌ์กฐ๋ฅผ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค. - ์—ด(column)์„ ์ถ”๊ฐ€, ์ˆ˜์ •, ์‚ญ์ œ ํ•ฉ๋‹ˆ๋‹ค. - ์ œ์•ฝ์กฐ๊ฑด์„ ์ถ”๊ฐ€, ์‚ญ์ œ ํ•ฉ๋‹ˆ๋‹ค.
ALTER TABLE ํ…Œ์ด๋ธ”๋ช… ADD COLUMN ์ƒˆ๋กœ์šด์—ด ๋ฐ์ดํ„ฐํƒ€์ž…;
SQL
๋ณต์‚ฌ
โ€ข
Posts ํ…Œ์ด๋ธ”์˜ ์กฐํšŒ์ˆ˜(views) ์ปฌ๋Ÿผ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
ALTER TABLE Posts ADD views INT DEFAULT 0;
SQL
๋ณต์‚ฌ

ํ…Œ์ด๋ธ” ์‚ญ์ œ

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ํ…Œ์ด๋ธ”์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.
DROP TABLE ํ…Œ์ด๋ธ”๋ช…;
SQL
๋ณต์‚ฌ
โ€ข
Posts ํ…Œ์ด๋ธ”์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.
DROP TABLE Posts;
Python
๋ณต์‚ฌ