๋ฐ์ดํ๋ฒ ์ด์ค ์์ฑํ๊ธฐ
nodejs๋ผ๋ ๋ฐ์ดํ ๋ฒ ์ด์ค ์์ฑํ๊ณ use nodejs; ๋ช
๋ น์ด๋ก ์์ฑํ ๋ฐ์ดํ๋ฒ ์ด์ค ์ ํํ๋ ์์
mysql> CREATE SCHEMA โnodejsโ DEFAULT CHARACTER SET utf8; Query Ok, 1 row affected (0,01 sec) mysql> use nodejs; Database changed
CREATE SCHEMA 'nodejs' DEFAULT CHARACTER SET utf8; ๋ช
๋ น์ด๋ MySQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์๋ก์ด ์คํค๋ง(๋ฐ์ดํฐ๋ฒ ์ด์ค)๋ฅผ ์์ฑํ๋ SQL ๋ช
๋ น์ด์ด๋ค.
CREATE SCHEMA 'nodejs';
์ ๋ช
๋ น์ด๋ ์๋ก์ด ์คํค๋ง(๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค)์ธ 'nodejs'๋ฅผ ์์ฑํ๋ค.
DEFAULT CHARACTER SET utf8;
์คํค๋ง์์ ๊ธฐ๋ณธ์ผ๋ก ์ฌ์ฉํ ๋ฌธ์ ์ธํธ๋ฅผ UTF-8๋ก ์ค์ ํ๋ค. UTF-8์ ๋ค์ํ ์ธ์ด์ ๋ฌธ์๋ฅผ ์ง์ํ๋ ์ ๋์ฝ๋ ์ธ์ฝ๋ฉ ๋ฐฉ์์ด๋ค. ์ฆ, ์ด ๋ช
๋ น์ด๋ 'nodejs'๋ผ๋ ์ด๋ฆ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ฑํ๊ณ , ๊ทธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด์์ ๋ชจ๋ ํ
์ด๋ธ์ด UTF-8 ๋ฌธ์ ์ธํธ๋ฅผ ๊ธฐ๋ณธ์ผ๋ก ์ฌ์ฉํ๋๋ก ์ค์ ํ๋ค.
MySQL ํ๋กฌํํธ์์ ๋๊ธํ ์ด๋ธ ์์ฑ
mysql> CREATE TABLE nodejs.comments( -> id INT NOT NULL AUTO_INCREMENT, -> commenter INT NOT NULL, //๋๊ธ๋จ์ฌ๋ ์์ด๋ -> comment VARCHAR(100) NOT NULL, //100๊ธ์ง๊น์ง ์ปค๋ฉํธ -> created_at DATETIME NOT NULL DEFAULT now(), ์์ฑ์ผ ๋ ์ง์๊ฐ ์ ์ ๊ฐ ๊ฐ์ ์ ๋ ฅํ์ง ์์๊ฒฝ์ฐ์ ํ์ฌ๋ ์ง์๊ฐ์ ์ ๋ ฅํด์ค -> PRIMARY KEY(id) -> INDEX commenter_idx (commenter ASC), -> CONSTRAINT commenter -> FOREIGN KEY (commenter) -> REFERENCES nodejs.users (id) -> ON DELETE CASCADE -> ON UPDATE CASCADE -> COMMENT =โ๋๊ธโ -> DEFAULT CHARSET=utf8mb4 -> ENGIME=InnoDB; )
- INT : ์ ์ ์๋ฃํ
- VARCHAR : ๋ฌธ์์ด ์๋ฃํ, ๊ฐ๋ณ๊ธธ์ด(CHAR์ ๊ณ ์ ๊ธธ์ด)
- TEXT : ๊ธด ๋ฌธ์์ด์ TEXT๋ก ๋ณ๋์ ์ฅ(์์ค, ์ผ๊ธฐ ๋ฑ)
- DATETIME : ๋ ์ง ์๋ฃํ ์ ์ฅ
- TINYINT : -128์์ 127๊น์ง ์ ์ฅํ ์์๋ค. 1 ๋๋ 0๋ง ์ ์ฅํด ๋ถ๊ฐ์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅ
- NOT NULL : ๋น๊ฐ์ ํ์ฉํ์ง ์์
- AUTO_INCREMENT : ์ซ์ ์๋ฃํ์ธ ๊ฒฝ์ฐ ๋ค์ ๋ก์ฐ๊ฐ ์ ์ฅ๋ ๋ ์๋์ผ๋ก 1์ฆ๊ฐ
- UNSIGNED : 0๊ณผ ์์๋ง ํ์ฉ
- ZEROFILL : ์ซ์์ ์๋ฆฌ์๊ฐ ๊ณ ์ ๋ ๊ฒฝ์ฐ ๋น์๋ฆฌ์ 0์ ๋ฃ์
- DEFAULT now() : ๋ ์ง ์ปฌ๋ผ์ ๊ธฐ๋ณธ๊ฐ์ ํ์ง ์๊ฐ์ผ๋ก
column ์ธ๋ถ ์ต์ ์ค๋ช
INDEX commenter_idx (commenter ASC)
INDEX๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ํน์ ์ด์ ๊ฐ์ ๊ธฐ๋ฐ์ผ๋ก ๋น ๋ฅด๊ฒ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ ์ ์๋๋ก ์ธ๋ฑ์ค๋ฅผ ์์ฑํ๋ ๋ช
๋ น์ด๋ก
๋๊ธ๊ฒ์์ ์์ฃผ ์ฌ์ฉํ๋ commenter์ INDEX๋ฅผ ๊ฑธ์ด์ฃผ๊ณ ์ฝ๋งจํฐ ์ปฌ๋ผ ์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ธ๋ฑ์ฑ ํ๊ฒ ๋ค๋ ๋ป์ด๋ค.
CONSTRAINT commenter
CONSTRAINT๋ ํน์ ์ ์ฝ ์กฐ๊ฑด์ ์ด๋ฆ์ ๋ถ์ฌํ๋ ๋ช
๋ น์ด๋ก
commenter์ ํน์ ์ ์ฝ์กฐ๊ฑด์ ๋ถ์ฌ ํ๊ฒ ๋ค๋ผ๋ ๋ช
๋ น์ด์ด๋ค.
FOREIGN KEY (commenter)
FOREIGN KEY๋ ํ
์ด๋ธ ๊ฐ์ ๊ด๊ณ๋ฅผ ์ ์ํ๋ ๋ช
๋ น์ด์ด๋ค.
* (commenter)๋ ์ด ์ธ๋ ํค๊ฐ ์ฐธ์กฐํ ํ
์ด๋ธ์ ์ด(column)์ ๋ํ๋ด๋ฉฐ ์ด ๊ฒฝ์ฐ, commenter ์ด์ด ์ธ๋ ํค ์ญํ ์ ํ๋ค.
REFERENCES nodejs.users (id)
REFERENCES๋ ์ธ๋ ํค๊ฐ ์ฐธ์กฐํ ํ
์ด๋ธ๊ณผ ์ด์ ์ง์ ํ๋ค.
nodejs.users๋ ์ฐธ์กฐํ ๋์ ํ
์ด๋ธ์ ๋ํ๋ด๋ฉฐ, id๋ ๊ทธ ํ
์ด๋ธ์์ ์ฐธ์กฐํ ์ด ์ด๋ค.
๋ฐ๋ผ์, commenter ์ด์ nodejs ์คํค๋ง(ํ
์ด๋ธ)์ users ํ
์ด๋ธ์ ์๋ id ์ด์ ์ฐธ์กฐํ๊ฒ ๋๋ฉฐ
์ด SQL ๊ตฌ๋ฌธ์ ์ธ๋ ํค(Foreign Key)๋ฅผ ์ ์ํ์ฌ ํ
์ด๋ธ ๊ฐ์ ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ์ ์ค์ ํ๋ ๋ช
๋ น๋ฌธ์ด๋ค
ON DELETE CASCADE
ON DELETE CASCADE๋ ์ฐธ์กฐ๋ ๋ ์ฝ๋๊ฐ ์ญ์ ๋ ๋ ์ด ์ธ๋ ํค๋ฅผ ๊ฐ์ง ๋ ์ฝ๋๋ ์๋์ผ๋ก ์ญ์ ๋๋๋ก ์ค์ ํ๋ค.
์๋ฅผ ๋ค์ด, users ํ
์ด๋ธ์์ ํน์ id๋ฅผ ๊ฐ์ง ์ฌ์ฉ์๊ฐ ์ญ์ ๋๋ฉด, ์ด id๋ฅผ ์ฐธ์กฐํ๋ ๋ชจ๋ commenter ๋ ์ฝ๋๋ ์๋์ผ๋ก ์ญ์ ๋๋ค.
ON UPDATE CASCADE
ON UPDATE CASCADE๋ ์ฐธ์กฐ๋ ๋ ์ฝ๋์ ๊ธฐ๋ณธ ํค(์ฆ, id)๊ฐ ์
๋ฐ์ดํธ๋ ๋, ์ด ์ธ๋ ํค๋ฅผ ๊ฐ์ง ๋ ์ฝ๋์ ๊ฐ๋ ์๋์ผ๋ก ์
๋ฐ์ดํธ๋๋๋ก ์ค์ ํ๋ค.
์๋ฅผ ๋ค์ด, users ํ
์ด๋ธ์ ํน์ id ๊ฐ์ด ๋ณ๊ฒฝ๋๋ฉด, ์ด id๋ฅผ ์ฐธ์กฐํ๋ ๋ชจ๋ commenter ์ด์ ๊ฐ๋ ์๋์ผ๋ก ์
๋ฐ์ดํธ๋๋ค.
DEFAULT CHARSET=utf8mb4
DEFAULT CHARSET๋ ํ
์ด๋ธ ๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฌธ์์ด ์ด(column)์ ์ฌ์ฉํ ๊ธฐ๋ณธ ๋ฌธ์ ์งํฉ(๋ฌธ์์ด ๋ฐ์ดํฐ์ ์ธ์ฝ๋ฉ ๋ฐฉ์)์ ์ง์ ํ๋ค.
utf8mb4๋ MySQL์์ ์ ๊ณตํ๋ ๋ฌธ์ ์งํฉ ์ค ํ๋๋ก ์ ๋์ฝ๋์ ๋ชจ๋ ๋ฌธ์๋ฅผ ํํํ ์ ์์ผ๋ฉฐ, ํนํ ์ด๋ชจ์ง(emoji)๋ ํน์ ๋ฌธ์๋ฅผ ์ ๋๋ก ์ ์ฅํ ์ ์๋ค.
UNIQUE INDEX name_QNIQUE (name ASC)
์ด ๋ช
๋ น๋ฌธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํน์ ํ
์ด๋ธ์ ๋ํด ๊ณ ์ ์ธ๋ฑ์ค๋ฅผ ์์ฑํ๋ค.
INDEX๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ํน์ ์ด์ ๊ฐ์ ๊ธฐ๋ฐ์ผ๋ก ๋น ๋ฅด๊ฒ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ ์ ์๋๋ก ์ธ๋ฑ์ค๋ฅผ ์์ฑํ๋ ๋ช
๋ น์ด์ด๋ค.
* UNIQUE INDEX ๋ ์ธ๋ฑ์ค๊ฐ ๊ณ ์ ํด์ผ ํจ์ ์๋ฏธํ๋ฉฐ ์ด ์ธ๋ฑ์ค๋ฅผ ์ ์ฉํ ์ด(column)์๋ ์ค๋ณต๋ ๊ฐ์ด ์์ ์ ์๋ค.
* name_QNIQUE๋ ์์ฑํ ์ธ๋ฑ์ค์ ์ด๋ฆ์ด๋ฉฐ ์ธ๋ฑ์ค ์ด๋ฆ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด์์ ๊ณ ์ ํด์ผ ํ๋ฉฐ, ์ฟผ๋ฆฌ์์ ์ฌ์ฉํ๊ธฐ ์ํ ์๋ณ์๋ก ์ฌ์ฉ๋๋ค.
* (name ASC)๋ name์ ์ธ๋ฑ์ค๋ฅผ ์์ฑํ ์ด(column)์ ์ด๋ฆ์ ๋ํ๋ด๋ฉฐ ASC๋ ์ค๋ฆ์ฐจ์(ascending)์ผ๋ก ์ธ๋ฑ์ค๋ฅผ ์์ฑํ๊ฒ ๋ค๋ ์๋ฏธ์ด๋ค. ์ด ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ ๋ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ๋ ๊ฒฐ๊ณผ๋ฅผ ๋น ๋ฅด๊ฒ ์ป์ ์ ์๋ค.
์๋ก users๋ผ๋ ํ ์ด๋ธ์ด ์๊ณ , ์ด ํ ์ด๋ธ์์ name ์ด์ ๋ํด ๊ณ ์ ํ ์ธ๋ฑ์ค๋ฅผ ์์ฑํ๊ณ ์ถ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
* UNIQUE INDEX ๋ ์ธ๋ฑ์ค๊ฐ ๊ณ ์ ํด์ผ ํจ์ ์๋ฏธํ๋ฉฐ ์ด ์ธ๋ฑ์ค๋ฅผ ์ ์ฉํ ์ด(column)์๋ ์ค๋ณต๋ ๊ฐ์ด ์์ ์ ์๋ค.
* name_QNIQUE๋ ์์ฑํ ์ธ๋ฑ์ค์ ์ด๋ฆ์ด๋ฉฐ ์ธ๋ฑ์ค ์ด๋ฆ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด์์ ๊ณ ์ ํด์ผ ํ๋ฉฐ, ์ฟผ๋ฆฌ์์ ์ฌ์ฉํ๊ธฐ ์ํ ์๋ณ์๋ก ์ฌ์ฉ๋๋ค.
* (name ASC)๋ name์ ์ธ๋ฑ์ค๋ฅผ ์์ฑํ ์ด(column)์ ์ด๋ฆ์ ๋ํ๋ด๋ฉฐ ASC๋ ์ค๋ฆ์ฐจ์(ascending)์ผ๋ก ์ธ๋ฑ์ค๋ฅผ ์์ฑํ๊ฒ ๋ค๋ ์๋ฏธ์ด๋ค. ์ด ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ ๋ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ๋ ๊ฒฐ๊ณผ๋ฅผ ๋น ๋ฅด๊ฒ ์ป์ ์ ์๋ค.
์๋ก users๋ผ๋ ํ ์ด๋ธ์ด ์๊ณ , ์ด ํ ์ด๋ธ์์ name ์ด์ ๋ํด ๊ณ ์ ํ ์ธ๋ฑ์ค๋ฅผ ์์ฑํ๊ณ ์ถ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
CREATE UNIQUE INDEX name_QNIQUE ON users(name ASC);
[ํ ์ด๋ธ] - CREATE ์์ฑ
INSERT INTO ํ
์ด๋ธ (์ปฌ๋ผ๋ช
๋ค) VALUES (๊ฐ๋ค)
mysql> INSERT INTO nodejs.users (name, age, married, comment) VALUES ('zero', 24, 0, '์๊ธฐ์๊ฐ ์ปค๋ฉํธ'); Query OK, 1 row affected (0.01 sec)
์ SQL ์ฟผ๋ฆฌ๋ nodejs ๋ฐ์ดํฐ๋ฒ ์ด์ค์ users ํ
์ด๋ธ์ ์ด๋ฆ์ด zero์ด๊ณ , ๋์ด๊ฐ 24์ธ์ด๋ฉฐ, ๋ฏธํผ์ด๊ณ , "์๊ธฐ์๊ฐ ์ปค๋ฉํธ"๋ผ๋ ์ฝ๋ฉํธ๋ฅผ ๊ฐ์ง ์๋ก์ด ์ฌ์ฉ์๋ฅผ ์ถ๊ฐํ๋ ๋ช
๋ น์ด๋ค. id์ create_at์ ์๋์ผ๋ก ์์ฑ๋๋ค.
mysql> INSERT INTO nodejs.comments (commenter, comment) VALUES(1, โ์๋ ํ์ธ์. commenter1์ ๋๊ธ์ ๋๋ค. )
์ SQL ์ฟผ๋ฆฌ๋ nodejs.comments ํ
์ด๋ธ์ ์ฌ์ฉ์ ID๊ฐ 1์ธ ์ฌ์ฉ์๊ฐ "์๋
ํ์ธ์. commenter1์ ๋๊ธ์
๋๋ค."๋ผ๋ ๋๊ธ์ ์ถ๊ฐํ๋ ๋ช
๋ น์ด๋ค.
[ํ ์ด๋ธ] - READ ์กฐํ
SELECT ์ปฌ๋ผ FROM ํ
์ด๋ธ๋ช
mysql> SELECT * FROM nodejs.users;
SELECT๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ ๋ฐ ์ฌ์ฉ๋๋ค.
* ๋ ํ
์ด๋ธ์ ๋ชจ๋ ์ด(columns)์ ์กฐํํ๊ฒ ๋ค๋ ๋ป์ผ๋ก ๋ชจ๋ ์ปฌ๋ผ์ ์ ํํ๋ค๋ ์๋ฏธ์ด๋ค.
mysql> SELECT name, married FROM nodejs.users;
์ SQL ์ฟผ๋ฆฌ๋ nodejs๋ผ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ ์๋ users๋ผ๋ ํ
์ด๋ธ์์ name๊ณผ married๋ผ๋ ๋ ๊ฐ์ ์ปฌ๋ผ(์ด)์ ๋ฐ์ดํฐ๋ฅผ ์ ํ(select)ํ์ฌ
์กฐํํ๋ ๋ช
๋ น์ด๋ค.
WHERE ์กฐ๊ฑด๋ฌธ๊ณผ AND
์ฌ๋ฌ๊ฐ์ง ์กฐ๊ฑด์ ๋์์ ๋ง์กฑํ๋ ๊ฒ์ ์ฐพ์์ค๋ค.
mysql> SELECT name, age, FROM nodejs.users WHERE married = 1 AND age > 30;
์ฟผ๋ฆฌ์ ๋ด์ฉ์ married ํ๋๊ฐ 1(์ฆ, ๊ฒฐํผํ ์ํ)์ด๊ณ age ํ๋๊ฐ 30์ธ ์ด์์ธ ์ฌ์ฉ์๋ค์ name(์ด๋ฆ)๊ณผ age(๋์ด)๋ฅผ ์กฐํํ๋ค.
WHERE ์กฐ๊ฑด๋ฌธ๊ณผ OR
OR๋ก ์ฌ๋ฌ๊ฐ์ง ์กฐ๊ฑด ์ค ํ๋ ์ด์์ ๋ง์กฑํ๋ ๊ฒ์ ์ฐพ์์ค๋ค.
mysql> SELECT id, name FROM nodejs.users WHERE married = 0 OR age > 30;
์ฟผ๋ฆฌ์ ๋ด์ฉ์ ๊ฒฐํผํ์ง ์์ ์ฌ์ฉ์(married๊ฐ 0์ธ ์ฌ์ฉ์) ๋๋ ๋์ด๊ฐ 30์ธ๋ฅผ ์ด๊ณผํ๋ ์ฌ์ฉ์(age > 30)์ id์ name์ ๊ฐ์ ธ์จ๋ค.
ORDER BY๋ก ํน์ ์ปฌ๋ผ์ ์์๋๋ก ์ ๋ ฌ ํ๊ฐ ๊ฐ์ ธ์ค๊ธฐ
- DESC๋ ๋ด๋ฆผ์ฐจ์
- ASC๋ ์ค๋ฆ์ฐจ์
mysql> SELECT id, name FROM nodejs.users ORDER BY age DESC;
nodejs ๋ฐ์ดํฐ๋ฒ ์ด์ค์ users ํ
์ด๋ธ์์ ์ฌ์ฉ์๋ค์ id์ name์ ์กฐํํ๊ณ , age(๋์ด) ๊ฐ์ ๊ธฐ์ค์ผ๋ก ๋ด๋ฆผ์ฐจ์(๋์ด๊ฐ ๋ง์ ์์๋๋ก)์ผ๋ก ์ ๋ ฌํ๋ ๋ช
๋ น์ด๋ค.
LIMIT์ผ๋ก ์กฐํํ ๊ฐ์ ์ ํ
mysql> SELECT id, name FROM nodejs.users ORDER BY age DESC LIMIT 1;
ORDER BY age DESC
age(๋์ด) ํ๋๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ด๋ฆผ์ฐจ์(๋์ด๊ฐ ๋ง์ ์์)์ผ๋ก ์ ๋ ฌํ๋ค.
LIMIT 1
๊ฒฐ๊ณผ ์งํฉ์์ ๊ฐ์ฅ ์ฒซ ๋ฒ์งธ ํ๋ง ๊ฐ์ ธ์จ๋ค. ์ฆ, ์ ๋ ฌ๋ ๊ฒฐ๊ณผ ์ค ์ฒซ ๋ฒ์งธ ์ฌ์ฉ์(๋์ด๊ฐ ๊ฐ์ฅ ๋ง์ ์ฌ์ฉ์) ํ๋๋ง ์ ํํ๋ค.
OFFSET์ผ๋ก ์์ ๋ก์ฐ๋ค ์คํตํ๊ธฐ
OFFSET 2๋ฉด ์ธ๋ฒ์งธ ๊ฒ๋ถํฐ ์ฐพ์
mysql> SELECT id, name FROM nodejs.users ORDER BY age DESC LIMIT 1 OFFSET 1;
ORDER BY age DESC
* age(๋์ด) ํ๋๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ด๋ฆผ์ฐจ์(๋์ด๊ฐ ๋ง์ ์์)์ผ๋ก ๊ฒฐ๊ณผ๋ฅผ ์ ๋ ฌํด์ค๋ค.
LIMIT 1
* ๊ฒฐ๊ณผ์์ ํ๋์ ํ๋ง ์ ํ ํ์ง๋ง ์ด ํ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๋ ฌ๋ ๊ฒฐ๊ณผ์ ์ฒซ ๋ฒ์งธ๊ฐ ์๋, OFFSET ๊ฐ์ด ์ ์ฉ๋ ๋ค์ ํ์ด๋ค.
OFFSET 1
* ์ ๋ ฌ๋ ๊ฒฐ๊ณผ ์งํฉ์์ ์ฒซ ๋ฒ์งธ ํ์ ๊ฑด๋๋ฐ๊ณ ๋ ๋ฒ์งธ ํ๋ถํฐ ์์ํ๋ค. ์ด ๊ฒฝ์ฐ, ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌ๋ ์ฌ์ฉ์ ๋ชฉ๋ก์์ ๋ ๋ฒ์งธ๋ก ๋์ด๊ฐ ๋ง์ ์ฌ์ฉ์๊ฐ ์ ํ๋๋ค.
[ํ ์ด๋ธ] - UPDATE ์์
UPDATE ํ
์ด๋ธ๋ช
SET ์นผ๋ผ=์๊ฐ WHERE ์กฐ๊ฑด
mysql> UPDATE nodejs.users SET comment = โ์ฌ๊ธฐ comment์ ๋ด์ฉ์ ๋ณ๊ฒฝํฉ๋๋ค.โ WHERE id=2; Query OK, 1 row affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0
nodejs.users ํ
์ด๋ธ์์ id ๊ฐ์ด 2์ธ ํ์ ์ฐพ์์ ํด๋น ํ์ comment ์ปฌ๋ผ์ ๊ฐ์ '๋ฐ๊ฟ ๋ด์ฉ'์ผ๋ก ์
๋ฐ์ดํธํ๋ค.
[ํ ์ด๋ธ] - DELETE ์ญ์
DELETE FROM ํ
์ด๋ธ๋ช
WHERE ์กฐ๊ฑด
mysql> DELETE FROM nodejs.users WHERE id = 2; Query OK, 1 row affected (0.00 sec)
nodejs.users ํ
์ด๋ธ์์ id ๊ฐ์ด 2์ธ ํ์ ์ฐพ์
ํด๋น ํ์ ํ
์ด๋ธ์์ ์ญ์ ํ๋ค.
์ ๋ด์ฉ์ https://www.inflearn.com/course/lecture?courseSlug=%EB%85%B8%EB%93%9C-js-%EA%B5%90%EA%B3%BC%EC%84%9C&unitId=143595&tab=curriculum ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ฑ ๋์์ต๋๋ค.