๋ฐ์ดํฐ๋ฒ ์ด์ค๋?
์ ๋ณด๋ฅผ ๊ด๋ฆฌํ๋ ์ ๋ฌธ ์ ํ๋ฆฌ์ผ์ด์
์ง๊ธ๊น์ง File์ ํตํด์ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ์๋ค.
File์ ๊ฐ์ฅ ์์์ ์ด๊ณ ๊ธฐ๋ณธ์ ์ธ ๋ฐ์ดํฐ ๊ด๋ฆฌ ์๋จ์ด๋ค.
๊ฐ์ฅ ํฐ ์ฅ์ ์ ์ด๋์์๋ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ฉฐ, ๋ฌด์ธ๊ฐ๋ฅผ ์ค์นํ ํ์๋ ์๋ค.
์ฌํํ๊ธฐ ๋๋ฌธ์ File์ ์ดํดํ๋๋ฐ ์ด๋ ต์ง ์๋ค.
ํ์ง๋ง, ์์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค๊ธฐ ์ํด์๋ DATABASE๊ฐ ํ์ํ๋ค.
DATABASE๋ File์ ์ฅ์ ์ ๋นํด์๋ ๋จ์ ์ด ์๋ค.
์ผ๋จ DATABASE์ ๋ํ ์ดํด์ ๊ณต๋ถ๊ฐ ํ์ํ๋ฉฐ, ๋ฌด์ธ๊ฐ๋ฅผ ์ค์นํด์ผ ํ๊ธฐ๋ ํ๋ค.
๋ฌด์ธ๊ฐ๋ฅผ ์ค์นํ ๋ ๊ณ ๋ฏผ๋ ๋ง์ด ํด์ผ ํ๋ค.
ํ์ง๋ง, ๊ถ๊ทน์ ์ผ๋ก๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ๋๋ File์ด ์๋ DATABASE๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค.
DATABASE์ ์ฌ์ฉํด์ผ ํ๋ ์ด์ ๋ ๋ค์๊ณผ ๊ฐ๋ค.
1. ์์ ํ๋ค.
File์ ์ด์ฉ์ ํ๋ค๋ฉด, ๋๊ตฐ๊ฐ File์ ์ด๋ํ๋ฉด ๊ทธ ์์ ์ ๋ณด๋ฅผ ์ ๋ถ ๋ณผ ์ ์๊ฒ ๋๋ค.
ํ์ง๋ง, DATABASE๋ ์ผ์ข ์ ๊ธ๊ณ ๊ฐ์ ์ญํ ์ ํ๋ค.
2. ๋น ๋ฅด๋ค(์ธ๋ฑ์ค).
DATABASE๋ ์ธ๋ฑ์ค๋ฅผ ํตํด ์ ๋ณด๋ฅผ ๋น ๋ฅด๊ฒ ์ฐพ์ ์ ์๋๋ก ๋ฏธ๋ฆฌ ์ ๋ฆฌ๋ฅผ ํ๋ค.
๊ทธ๋ ๊ธฐ์ ์ด๋ค ์ ๋ณด๋ฅผ ์ฐพ์ ๋ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ๋ฉด ๋น ๋ฅด๊ฒ ์ฐพ์ ์ ์๋ค.
3. ํ๋ก๊ทธ๋๋ฐ์ ์ ์ด ๊ฐ๋ฅ
DATABASE๋ฅผ ์ฌ์ฉํ๋ ๊ฐ์ฅ ํฐ ์ด์ ์ด๋ค.
ํ๋ก๊ทธ๋๋ฐ์ ์ผ๋ก ์ ์ด๊ฐ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ๋ณด๋ค ํจ์จ์ ์ผ๋ก ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค.
DataBase์์๋ ์ฌ๋ฌ ์ฒด๊ณ๊ฐ ์๋ค.
๊ทธ์ค์์ ์ค๋๋ ๊ฐ์ฅ ๋ณดํธ์ ์ผ๋ก ์ฌ์ฉ๋๋ ์ฒด๊ณ๋ '๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค'์ด๋ค.
์ด๋ฐ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํ๋ ๊ตฌ์ฒด์ ์ธ ์ ํ์๋ MySQL,MSSQL,Oracle ๋ฑ์ด ์๋ค.
์ง๊ธ ์์๋ณผ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ MySQL์ด๋ค.
MySQL์ ์์๋๋ฉด, ๋ค๋ฅธ MSSQL์ด๋ Oracle๋ฑ ๋ค๋ฅธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ดํดํ๋๋ฐ๋ ๋งค์ฐ ์์ํ๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ค์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋์๋ฐฉ๋ฒ์ด ๋งค์ฐ ๋น์ทํ๊ธฐ ๋๋ฌธ์ด๋ค.
๋ํ MySQL์ ๋ง๋ค์๋ ํ์ฌ MySQL AB์์ SUN์ด๋ผ๋ Java๋ฅผ ๋ง๋ค์๋ ํ์ฌ์๊ฒ ํ์ฌ๋ฅผ ํ๊ฒ ๋๋ค.
๊ทธ๋ฆฌ๊ณ SUN์ Oracle์ด๋ผ๊ณ ํ๋ Oracle Database๋ฅผ ๋ง๋ ํ์ฌ์๊ฒ ์ธ์๋นํ๊ฒ ๋๋ค.
๊ทธ๋ ๊ธฐ์ ์ง๊ธ MySQL์ Oracle์ ํ์ฌ์์ ์ด์๋๊ณ ์๋ค.
๊ทธ ๊ณผ์ ์์ MySQL์ ๋ง๋ ์์ง๋์ด๋ค์ด Oracle์ ์ ์ฑ ์ ๋ํ ๋ฐ๋ฐ๋ก ๋์์,
์๋ก์ด DataBase๋ฅผ ๋ง๋ค๊ฒ ๋๋๋ฐ, ๊ทธ๊ฒ์ด MariaDB์ด๋ค.
MariaDB๋ MySQL๊ณผ ์๋ฒฝํ๊ฒ ํธํ์ด ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์,
MySQL์ ์ฌ์ฉํ ์ค ์๊ฒ ๋๋ค๋ฉด, MariaDB๋ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค๋ ๋ป์ด๋ค.
DataBase๋ฅผ ์ดํดํ๋๋ฐ ๊ฐ์ฅ ํต์ฌ์ ์ธ ํค์๋๋ structured์ด๋ค.
structured๋ ๊ตฌ์กฐํ๋ ์ด๋ผ๋ ๋ป์ด๋ค.
๊ตฌ์กฐํ๋ ์ ๊ฐ์ฅ ๋ํ์ ์ธ ์ฌ๋ก๋ ํ๋ผ๊ณ ํ ์ ์๋ค.
ํ๋ ์์ด๋ก table์ด๋ผ๊ณ ํ ์ ์๋ค.
์ด๋ฌํ table System์ ์ด๋ฏธ ๋์ค์ ์ผ๋ก ๋ง์ด ์ฌ์ฉ๋๊ณ ์๋๋ฐ ๊ทธ๊ฑด ๋ฐ๋ก Excel์ด๋ค.
Excel๊ณผ DataBase์ ๊ฐ์ฅ ํฐ ์ฐจ์ด์ ์ SQL์ ์๋ค.
DataBase์๋ SQL์ด ์๊ณ , Excel์๋ SQL์ด ์๋ค.
๊ทธ๋ ๋ค๋ฉด SQL์ ๋ฌด์จ ์๋ฏธ ์ผ๊น
Structured Query Language
Structured = ๊ตฌ์กฐํ๋.(ํ์ ๊ฐ์ ์ ๋ณด)
Query = ์ง์ํ๋ค. ์ง๋ฌธํ๋ค.
Language = ํ๋ก๊ทธ๋๋ฐ ์ธ์ด
์ฆ, ์ปดํจํฐ์๊ฒ ๊ตฌ์กฐํ๋ ์ ๋ณด๋ฅผ ์ง์ํ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด
MySQL์ Server์ Client์ ๊ตฌ์ฑ์ ๊ฐ์ง๊ณ ์๋ค.
Client๊ฐ Server์๊ฒ ์ด๋ค ์ ๋ณด๋ฅผ ์์ฒญํ๋ค๋ฉด,
Server๋ Client์๊ฒ Server์ ์ ์ฅ๋์ด์๋ ๋ด์ฉ์ ๊บผ๋ด์ ๋ณด๋ด์ฃผ๊ฒ ๋๋ค.
MySQL์์์ ๊ฐ์ฅ ํต์ฌ์ ์ธ ๊ธฐ์ ์ Server ์ชฝ ๊ธฐ์ ์ด๋ค.
์ ๋ณด๋ฅผ ์ผ๋ง๋ ์ฒด๊ณ์ ์ผ๋ก ์ ๊ด๋ฆฌํ๋์ง๊ฐ ์ ์ผ ์ค์ํ๊ธฐ ๋๋ฌธ์ด๋ค.
Client๋ ๋ค์ํ Client๊ฐ ์๋ค.
๊ทธ์ค MySQL monitor์ด๋ผ๋ Client๋ฅผ ์ฌ์ฉํด MySQL server์ ๊ด๋ฆฌํ ๊ฒ์ด๋ค.
MySQL monitor์ MySQL์ ์ค์นํ๋ฉด Server์ ํจ๊ป ์ค์น๋๋ ๊ธฐ๋ณธ ํ๋ก๊ทธ๋จ์ด๋ค.
MySQL์ ํฐ๋ฏธ๋(๋ช ๋ น ํ๋กฌํํธ)์ ํตํด ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค.
๋จผ์ , MySQL์ด ์ค์น๋์ด์๋ ํด๋๋ก ํฐ๋ฏธ๋ ์์น๋ฅผ ์ฎ๊ธด ๋ค์, mysql -hlocalhost -uroot -p ์น๋ค์ enter์ ๋๋ฅด๊ฒ ๋๋ฉด,
์ด๊ธฐ์ ์ค์ ํ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํ๋ ์ฐฝ์ด ๋์จ๋ค. ๊ทธ๋ ์ด๊ธฐ ์ค์ ํ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํ๋ฉด ๋๋ค.
๊ทธ๋ ๋ค๋ฉด, ํ์ฌ MySQL DataBase์ ๋ค์ด์จ ๊ฒ์ด๋ค.
์ฌ๊ธฐ์ show database๋ฅผ ์ ๋ ฅํ๊ฒ ๋๋ฉด, ํ์ฌ database๋ฅผ ๋ณผ ์ ์๊ฒ ๋๋ค.
์ด์ ๋ค์ํ ๋ช ๋ น์ด๋ฅผ ํตํด ์ฌ์ฉ๋ฒ์ ์์๋ณด์.
๋ฌธ๋ฒ ๊ฐ์ ๊ฒฝ์ฐ๋ ํ ์ด๋ธ์ ์ด๋ฆ๊ณผ ๋ฌธ๋ฒ ์ฉ์ด๋ฅผ ๊ตฌ๋ถ ์ง๊ธฐ ์ํด์ ๋ฐฑ ํฑ(Backtick)์ผ๋ก ๊ตฌ๋ถํด์ผ ํ๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ณด๊ธฐ
→ show databases;
๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฑ
→ CREATE DATABASE (๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๋ฆ) CHARACTER SET utf8 COLLATE utf8_general_ci;
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ํ
→ use (๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๋ฆ);
ํ ์ด๋ธ ์์ฑ
CREATE TABLE `topic` ( → ํ ์ด๋ธ ์ด๋ฆ์ topic์ผ๋ก ์์ฑ
`id` int(11) NOT NULL AUTO_INCREMENT, → id๊ฐ์ ์ ์์ด๋ฉฐ 1๋ถํฐ ์ฐจ๋ก๋ก ์ค๋ฆ. ๊ฐ์ด ์์ ์ ์์.
`title` varchar(100) NOT NULL, → title์ ๊ธ์ ์๋ 100๊ธ์ ์ดํ, ๊ฐ์ด ์์ ์ ์์
`description` text NOT NULL, → description์ textํ์์ด๋ฉฐ ๊ฐ์ด ์์์ ์์
`author` varchar(30) NOT NULL, → author์ ๊ธ์์ 30 ์ดํ, ๊ฐ์ด ์์์ ์์
`created` datetime NOT NULL, → created๋ ๋ ์ง์ ์๊ฐ์ ์๋ ค์ค, ๊ฐ์ด ์์์ ์์
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
์์ฑ๋ ํ ์ด๋ธ ํ์ธ
→ show tables;
๋ฐ์ดํฐ ์ฝ์
→ INSERT INTO `topic` (`title`,`description`,`author`,`created`) VALUES('about javascript', 'javascript is ~', 'egoing', '2022-9-20 19:33:54');
→ INSERT INTO `(ํ ์ด๋ธ ์ด๋ฆ)` (์ปฌ๋ผ, ... ) VALUES('๊ฐ ์ปฌ๋ผ์ ๋ค์ด๊ฐ ๋ด์ฉ','...')
→ ์ปฌ๋ผ,ํ ์ด๋ธ ๋ช ์ ๋ฐฑํฑ(`) , ๋ฌธ์์ด์ ์์๋ฐ์ดํ(')์ผ๋ก ๊ตฌ๋ถํ๋ค.
ํ ์ด๋ธ ๋ณด๊ธฐ
→ SELECT * FROM (ํ ์ด๋ธ ์ด๋ฆ);→ ์ฌ๊ธฐ์ ๋ณํ(*)๋ ์ปฌ๋ผ์ ์๋ฏธํ๋ค. ๋ง์ฝ ํ์ธํด์ผ ํ๋ ์ปฌ๋ผ์ด ์ ํด์ ธ ์๋ค๋ฉด,
SELECT title,author FROM topic;์ ํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
ํ ์ด๋ธ ์ํ๋ ํ ๋ณด๊ธฐ
→ SELECT id,title,author,created FROM topic WHERE id=3;→ id๊ฐ์ ๋ค๋ฅธ id์ ์ค๋ณต๋์ง ์๋ ์ ์ผํ ํ ์ด๊ธฐ ๋๋ฌธ์, ๋ฐ์ดํฐ๋ฅผ ์ฐพ์ ๋ ์ ์ฉํ๋ค.
ํ ์ด๋ธ ์ ๋ ฌ ์์ ๋ณ๊ฒฝ
→ SELECT id,title,author,created FROM topic ORDER BY id DESC;
→ ORDER BY(์ ๋ ฌ) id(id๊ฐ์ผ๋ก ์ ๋ ฌ) DESC( id๊ฐ์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌ)
ํ ์ด๋ธ ํ ์ญ์
→ DELETE FROM topic WHERE id=n;
→ ์ญ์ ํ ๋ ค๋ id๋ฒํธ๋ฅผ n์ ๊ธฐ์ ํ์ฌ ์ํ๋ ํ์ ์ญ์
๋ฌธ๋ฒ ๊ฐ์ ๊ฒฝ์ฐ๋ ํ ์ด๋ธ์ ์ด๋ฆ๊ณผ ๋ฌธ๋ฒ ์ฉ์ด๋ฅผ ๊ตฌ๋ถ ์ง๊ธฐ ์ํด์ ๋ฐฑํฑ(Backtick)์ผ๋ก ๊ตฌ๋ถํด์ผ ํ๋ค.
์ด๋ ๊ฒ ๋ง์น Excel๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก table์ด ๋์ค๋ ๊ฑธ ํ์ธํ ์ ์๋ค.
์ถ์ฒ: [์ํ์ฝ๋ฉ]์น ์ ํ๋ฆฌ์ผ์ด์ ๋ง๋ค๊ธฐ
'๐ Web > ์น ์ ํ๋ฆฌ์ผ์ด์ ๋ง๋ค๊ธฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์น ์ ํ๋ฆฌ์ผ์ด์ ๋ง๋ค๊ธฐ [๋ณด์] (2) | 2022.09.23 |
---|---|
์น ์ ํ๋ฆฌ์ผ์ด์ ๋ง๋ค๊ธฐ [MySQL ์ค์ต] (0) | 2022.09.22 |
์น ์ ํ๋ฆฌ์ผ์ด์ ๋ง๋ค๊ธฐ [PHP ์ค์ต] (0) | 2022.09.18 |
์น ์ ํ๋ฆฌ์ผ์ด์ ๋ง๋ค๊ธฐ [JS ์ค์ต] (0) | 2022.09.18 |
์น ์ํ๋ฆฌ์ผ์ด์ ๋ง๋ค๊ธฐ [JS,PHP ์ด๋ก ] (2) | 2022.09.16 |