๋ฐ์ดํฐ๋ฒ ์ด์ค
database๋ ๋ง์ด ์ฌ์ฉ๋๋ ๊ด๊ณํ database(Oracle, Mysql, Sql server)์ ๊ทธ ์ธ์ ๋ค์ํ NoSQL๋ก ๋๋๋ค.
MySQL ์ค์น ๋ฐ ์ฌ์ฉ
https://bitnami.com/stack/wamp
WAMP
Bitnami WAMP Stack provides a complete, fully-integrated and ready to run WAMP development environment. In addition to PHP, MySQL and Apache, it includes FastCGI, OpenSSL, phpMyAdmin, ModSecurity, SQLite, ImageMagick, xDebug, Xcache, OpenLDAP, ModSecurity,
bitnami.com
์ด๊ณณ์์ 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;
![](https://blog.kakaocdn.net/dn/chmsdw/btq9Po6pB4K/L17LJuxqTtlUt5xXgK4bG0/img.png)
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 |