๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ–ฅ๏ธ/DBMS

[MariaDB] ํ…Œ์ด๋ธ” ๋งŒ๋“ค๊ธฐ, CRUD๋ž€?

by HanaV 2023. 3. 23.
728x90

๋งˆ๋ฆฌ์•„DB๋Š” MySQL๊ณผ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๊ฐ™์ด ํ•˜๋ฏ€๋กœ ์‚ฌ์šฉ๋ฐฉ๋ฒ•๊ณผ ๊ตฌ์กฐ๊ฐ€ MySQL๊ณผ ๋™์ผํ•˜๋‹ค. ์ด๋ฆ„๋งŒ ๋‹ค๋ฅด์ง€ ๋ช…๋ น์–ด๋‚˜ ์‚ฌ์šฉ๋ฐฉ๋ฒ• (5.5๊นŒ์ง€) ๋ชจ๋‘ MySQL๊ณผ ๋™์ผํ•˜๋‹ค. ํŽธ์˜๋ฅผ ์œ„ํ•ด ๋งˆ๋ฆฌ์•„DB๋Š” ๋™์ผํ•œ MySQL ๋ฒ„์ „๊ณผ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋“œ๋กญ์ธ ๊ต์ฒด๋ฅผ ์ง€์›ํ•œ๋‹ค.

 

MariaDB

1. ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๋ฅผ ๋งŒ๋“ฆ

2. ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•  ๊ณ„์ •์„ ๋งŒ๋“ฆ

3. ๊ณ„์ •์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ ์„ค์ •

4. ๊ณ„์ •์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ๋“ค์–ด์™€์„œ (๋กœ๊ทธ์ธํ•ด์„œ)
  ํ…Œ์ด๋ธ” ์ƒ์„ฑ  >> ์ปฌ๋Ÿผ ์ƒ์„ฑ >> row ์ƒ์„ฑ 

5. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ(DBA: Database Administrator - ๋ฐ์ดํ„ฐ ์ „๋ฐ˜์„ ๊ด€๋ฆฌํ•จ)
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด์˜ ํ…Œ์ด๋ธ” ๋“ฑ์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” language๋ฅผ SQL(Structure Query Language: ๊ตฌ์กฐ์งˆ์˜๋ฌธ)์ด๋ผ๊ณ  ํ•จ. SQL๋„ ๊ตญ์ œํ‘œ์ค€์ด ์žˆ๋Š”๋ฐ, ์ด๊ฑธ ์ œ์ผ ์ž˜ ์ค€์ˆ˜ํ•˜๋Š” ๊ฒƒ์ด PostGreSQL์ด๋‹ค. 
SQL ์•ˆ์—๋„ SQL ๋ช…๋ น๋ฌธ, ํ•จ์ˆ˜๊ฐ€ ์žˆ๊ณ  ํ”„๋กœ๊ทธ๋ž˜๋ฐ(PL/SQL --> Stored Procedure) ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

SQL ๊ตฌ๋ถ„

  • DCL (Data Control Language) : ๋ฐ์ดํ„ฐ ์ œ์–ด์–ด
    grant(๊ถŒํ•œ ์ฃผ๊ธฐ), revoke(๊ถŒํ•œ ๋ฐ•ํƒˆ), commit(ํ™•์‹คํ•œ ์‹คํ–‰), rollback(์›๋ณต)

 

  • DDL (Data Definition Language) : ๋ฐ์ดํ„ฐ๋ฅผ ์ •์˜์–ด
    schema(๊ตฌ์กฐ), domain, table, view, index๋ฅผ ์ƒ์„ฑ, ์ˆ˜์ •, ์‚ญ์ œ
    create, alter, drop, truncate
>>alter user webmaster identified by '123' : ๊ณ„์ • ์•”ํ˜ธ ๋ฐ”๊พธ๋Š”๋ฒ•
>>drop: ํ…Œ์ด๋ธ” ์‚ญ์ œ, ๋กค๋ฐฑ์ด ์•ˆ๋จ (DROP TABLE tbl_test;)
>>truncate: ํ…Œ์ด๋ธ”์€ ๋ƒ…๋‘๊ณ  ๋ฐ์ดํ„ฐ๋งŒ ์‚ญ์ œ (TRUNCATE TABLE tbl_test;)
  • DML (Data Maniputation Language) : ๋ฐ์ดํ„ฐ ์กฐ์ž‘์–ด
    DB์— ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒ/์‚ฝ์ž…/์ˆ˜์ •/์‚ญ์ œ
    select, insert, update, delete

 

CRUD

1) Creat

์˜ˆ์‹œ1) ๊ฒŒ์‹œํŒ์— ์‚ฌ์šฉํ•  ํ…Œ์ด๋ธ” ๋งŒ๋“ค๊ธฐ
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ -> ๊ณ„์ • ์ƒ์„ฑ -> ํ…Œ์ด๋ธ” ์ƒ์„ฑ -> ํ–‰์ถ”๊ฐ€(insert)

CREATE TABLE tbl_practice(
	
	seqno INT NOT NULL AUTO_INCREMENT,
	writer VARCHAR(50) NOT NULL,
	title VARCHAR(200) NOT NULL,
	hitno INT NULL,
	regdate VARCHAR(50) NOT NULL,
	content TEXT NOT NULL,
	
	PRIMARY KEY(seqno)


)

 

์˜ˆ์ œ2) userid ๋ฐ›๋Š” ํ…Œ์ด๋ธ” ๋งŒ๋“ค๊ธฐ

CREATE TABLE tbl_practice(
	
	userid VARCHAR(50) NOT NULL,
	username VARCHAR(50) NOT NULL,
	age INT NOT NULL,
	
	PRIMARY KEY(userid)

)

๋ฐ์ดํ„ฐ๋Š” ์—†๋Š” ํ…Œ์ด๋ธ”์ด ์ƒ์„ฑ


ํ–‰ ์ถ”๊ฐ€ (Insert)

INSERT INTO tbl_practice (userid, username, age)
	VALUES ('hanavtistory', 'hanav', 24);
INSERT INTO tbl_practice (userid, username, age)
	VALUES ('hanavtistory2', 'hanav2', 23);
INSERT INTO tbl_practice (userid, username, age)
	VALUES ('mydog', 'bori', 8);


 

 

 

2) Read : ํ…Œ์ด๋ธ”์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋ฒ•

SELECT userid, username(์ปฌ๋Ÿผ ์ด๋ฆ„, ์ „์ฒด๋Š” *) FROM (ํ…Œ์ด๋ธ” ์ด๋ฆ„) where ์ปฌ๋Ÿผ์ด๋ฆ„ = '๊ฐ’';

ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ ์„ ๋ณ„ํ•ด์„œ ๊ฐ€์ ธ์˜ค๊ธฐ

SELECT userid, username FROM tbl_practice
	WHERE username = 'hanav';

 

%%

//๋ฐฉ๋ฒ•1
SELECT * FROM tbl_test
	WHERE username LIKE '%n%';
//๋ฐฉ๋ฒ•2
SELECT * FROM tbl_test 
	WHERE username LIKE CONCAT('%', 'n','%'); //concat : ํ•ฉ์น˜๋Š” ํ•จ์ˆ˜

LIKE 'h%' , CONCAT('h', '%'): h๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋ฐ์ดํ„ฐ
LIKE '%v' , CONCAT('%', 'v'): v๋กœ ๋๋‚˜๋Š” ๋ฐ์ดํ„ฐ


๋ฐ์ดํ„ฐ ์ •๋ ฌํ•˜๊ธฐ

SELECT * FROM tbl_practice
	ORDER BY age DESC;



 
3. Update

๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ

UPDATE tbl_practice SET username = 'bbori' 
	WHERE userid = 'mydog';


๋ฐ์ดํ„ฐ ์ถ”๊ฐ€(๋˜‘๊ฐ™์ด insert into ์‚ฌ์šฉ)

ํ–‰ ์ถ”๊ฐ€(Insert)

INSERT INTO tbl_practice (userid, username, age)
	VALUES ('mybaby', 'baby', '2');


4. Delete

DELETE FROM tbl_practice WHERE userid = 'mybaby';

 

 

 

 

728x90

"); wcs_do();