๋ฐ์ดํฐ๋ฒ ์ด์ค
database๋ ๋ง์ด ์ฌ์ฉ๋๋ ๊ด๊ณํ database(Oracle, Mysql, Sql server)์ ๊ทธ ์ธ์ ๋ค์ํ NoSQL๋ก ๋๋๋ค.
MySQL ์ค์น ๋ฐ ์ฌ์ฉ
https://bitnami.com/stack/wamp
์ด๊ณณ์์ apache, MySQL, PHP๋ฅผ ํ ๋ฒ์ ๋ค์ด๋ก๋ํ๊ฑฐ๋ MySQL์ ๋ฐ๋ก ์ค์นํด์ฃผ๋ฉด ๋๋ค!!
๋๋ ์ ์ ์ํ์ฝ๋ฉ์ ๋ค๋ฅธ ๊ฐ์๋ฅผ ๋ค์ผ๋ฉด์ ์ด๊ฑธ ๋ค์ด๋ฐ์๋๊ณ MySQL๋ฅผ ๋ฐ๋ก ๋ ์ค์นํ๋๋ ์ด์ํด์ ธ์ ๊ฒจ์ฐ๊ฒจ์ฐ ๊ตฌ๊ธ๋ง ํด์ ํด๊ฒฐํ๋ ๊ฒ ๊ฐ๋คใ ใ
์ด๋ ๊ฒ manager-windows ํ์ผ์ ์ด์ด์ ์ค์ ํด์ฃผ๋ฉด ๋๋ค!
database๋ ์ฐ๊ด๋ table๋ค์ ํด๋, ๋ถ๋ฅ, ์นดํ ๊ณ ๋ฆฌ๋ก ๋ณผ ์ ์๋ค
cmd ์ฐฝ์ ์ด์ด์ mysql์ ์ ๊ทผํ๋ค
Bitnami์ mysql์ bin์ผ๋ก ๊ฐ์ mysql -uroot -p๋ฅผ ์ ๋ ฅํด์ฃผ๊ณ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํ๋ฉด mysql์ด ์คํ๋๋ค
mysql ๋ค์ -h ๋ค์ ์ ๊ทผํ DB์ ์ฃผ์๋ฅผ ์ ๋ ฅํด์ฃผ๊ฑฐ๋ ์๋ตํด์ค๋ค(์๋ตํ๋ฉด ์์ ์ ์ปดํจํฐ์ mysql๋ก ์ ๊ทผ)
mysql ๋ค์ -P ๋ค์๋ port ๋ฒํธ๋ฅผ ์จ์ฃผ๋ฉด ๋๊ณ ์๋ตํ๋ฉด ๊ธฐ๋ณธ์ผ๋ก ์ค์ ๋ port ๋ฒํธ(3306)์ ์ ์๋๋ค
๋น๋ฐ๋ฒํธ๊น์ง ์ ๋ ฅ์ ํ ๊ฒฝ์ฐ DB server๊น์ง ์ ๊ทผ์ ํ ๊ฒ์ด๋ค
๊ทธ๋ฆฌ๊ณ table์ ๋ง๋ค๊ธฐ ์ํด์ DB๊ฐ ์์ด์ผํ๊ธฐ ๋๋ฌธ์ DB๋ฅผ ์์ฑํด์ฃผ์ด์ผ ํ๋ค
DB ์์ฑํ๊ธฐ
CREATE DATABASE o2 CHARACTER SET utf8 COLLATE utf8_general_ci;
cmd ์ฐฝ์ ์ด๋ ๊ฒ ์ ๋ ฅ์ ํด์ฃผ๋ฉด o2๋ผ๋ DB๋ฅผ ์์ฑํ๋ค๋ ๋ป์ด๋ค
๊ทธ๋ฆฌ๊ณ DB๊ฐ ์ ๋๋ก ์์ฑ๋์๋์ง ๋ณด๊ธฐ ์ํด์ ์๋์ ๊ฐ์ด ์ ๋ ฅํด์ค๋ค
SHOW DATABASES;
ํ ์ด๋ธ ์์ฑํ๊ธฐ
o2๋ผ๋ ์ด๋ฆ์ table์ ์ ๊ทผ์ ํด๋ณด๋ฉด ์์ง ์๋ฌด๊ฒ๋ ์๊ธฐ ๋๋ฌธ์ ์๋์ ๊ฐ์ด ๋จ๊ฒ ๋๋ค
๊ทธ๋ฆฌ๊ณ ์๋์ ๊ฐ์ ์ฝ๋๋ฅผ ์จ์ ํ ์ด๋ธ์ ์์ฑํด์ฃผ๊ณ SHOW TABLES;๋ฅผ ์ด์ฉํด์ ํ์ธํด์ค๋ค
CREATE TABLE `topic` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(100) NOT NULL,
`description` text NOT NULL,
`author` varchar(30) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT : table์ data ์ฝ์ ํ๊ธฐ
INSERT INTO topic (title, description, author) VALUES('JavaSript', 'JavaScript is...', 'name');
INSERT๋ฅผ ์ด์ฉํด์ topic์ด๋ผ๋ table์ title: JavaScript, description: JavaScript is..., author: name์ด๋ผ๋ data๋ฅผ ๋ฃ์ด์ฃผ์๋ค
์ ๋ณด๋ฅผ ๋ฃ์ด์ค ๋ ๋งค์นญ์ด ๋ ์ ์๋๋ก ์์๋ฅผ ๋ง์ถ์ด ์ ๋ ฅํด์ฃผ์ด์ผ ํ๋ค
SELECT : table์ data ๊ฐ์ ธ์ค๊ธฐ
SELECT * FROM topic;
SELECT๋ฅผ ์ด์ฉํด์ topic์ด๋ผ๋ table์์ ๋ชจ๋ ํ์ ๊ฐ์ ธ์จ๋ค๋ ๋ป์ด๋ค
์์์ DB๋ฅผ ๋ง๋ค ๋ `id` int(11) NOT NULL AUTO_INCREMENT ์ด๋ ๊ฒ id๋ ์๋์์ฑ๋๋๋ก ๋ง๋ค์๊ธฐ ๋๋ฌธ์ data๋ฅผ ๋ฃ์ด์ค ๋ id์ ๊ฐ์ ๋ฐ๋ก ์ง์ ํด์ฃผ์ง ์์๋ id ๊ฐ์ด ์๋ ์์ฑ๋์๋ค๋ ๊ฒ์ ์ ์ ์๋ค
๋ ํ๋์ ํ์ ๋ฝ์์ค๊ณ ์ถ์ ๋๋ ์๋์ ๊ฐ์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ฉด ๋๋ค
SELECT * FROM topic WHERE id=2;
UPDATE : table์ data ์์ ํ๊ธฐ
UPDATE topic SET title='npm' WHERE id=2;
UPDATE๋ฅผ ์ฌ์ฉํด์ topic์ด๋ผ๋ table์ 2๋ฒ์งธ ํ์ title์ npm์ผ๋ก ๋ฐ๊ฟ์ค๋ค
UPDATE topic SET title='npm', description='Node package manager' WHERE id=2;
์ด๋ ๊ฒ ,๋ฅผ ์ฌ์ฉํด์ ์ฌ๋ฌ data๋ฅผ ํ ๋ฒ์ ๋ฐ๊ฟ ์๋ ์๋ค
์์ ํ ๋ WHERE id์ ๊ฐ์ ์ค์ ํด์ฃผ์ง ์์ผ๋ฉด ๋ชจ๋ ์ ๋ณด๊ฐ ๋ฐ๋๊ธฐ ๋๋ฌธ์ ๋งค์ฐ ์ฃผ์ํด์ฃผ์ด์ผ ํ๋ค!!!!!
DELETE : table์ data ์ญ์ ํ๊ธฐ
DELETE FROM topic WHERE id=2;
DELETE๋ฅผ ์ฌ์ฉํด์ topic์ด๋ผ๋ table์์ id ๊ฐ์ด 2์ธ ํ์ ์ญ์ ํ ์ ์๋ค
์ด ๋๋ WHERE id ๊ฐ์ ์ค์ ํ ๋ ์ฃผ์ํด์ผ ํ๋ค!!!!!
ํญ์ ์๋ฒ์์ data๋ฅผ ์์ ํ๊ฑฐ๋ ์ญ์ ํ ๋๋ ๋งค์ฐ ๋งค์ฐ ์กฐ์ฌํด์ผ ํ๋ค!
'c o d i n g . . ๐ > MySQL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ํ์ฝ๋ฉ] ๊ด๊ณํ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง (0) | 2021.09.25 |
---|---|
[์ํ์ฝ๋ฉ] Nodejs๋ก Database ๋ค๋ฃจ๊ธฐ(3) (0) | 2021.07.30 |
[์ํ์ฝ๋ฉ] Nodejs๋ก Database ๋ค๋ฃจ๊ธฐ(2) (0) | 2021.07.20 |