๋ง๋ฆฌ์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';