๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
DB

[SQL] : ์ฟผ๋ฆฌ๋ฌธ์œผ๋กœ ๋ฐ์ดํ„ฐ ์ƒ์„ฑํ•˜๊ณ  ์กฐํšŒํ•ด๋ณด๊ธฐ.

by ๊ถŒ์Šพํ–„ 2023. 7. 13.
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑํ•˜๊ธฐ
CREATE DATABASE <๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ด๋ฆ„>;
ํ…Œ์ด๋ธ” ์ƒ์„ฑํ•˜๊ธฐ
CREATE TABLE IF NOT EXISTS courses (
    id bigint(5) NOT NULL AUTO_INCREMENT, 
    title varchar(255) NOT NULL,
    tutor varchar(255) NOT NULL,
    PRIMARY KEY (id)
);

// courses๋ผ๋Š” ํ…Œ์ด๋ธ”์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•˜๊ฒ ๋‹ค.
// id , title , tutor ๋ผ๋Š” ์ปฌ๋Ÿผ์„ ๋งŒ๋“ค๊ฑฐ๊ณ , 
// title ๊ณผ tutor ๋Š” varchar ๋ผ๋Š” ๋ฌธ์ž์—ด ํƒ€์ž…์œผ๋กœ ์ƒ์„ฑํ•œ๋‹ค, null๊ฐ’์ด ํ—ˆ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค.
 

์ƒ์„ฑํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ new query๋ฅผ ์„ค์ •ํ•˜๊ณ , ์ƒ์„ฑํ•œ ์ƒˆ๋กœ์šด ์ฟผ๋ฆฌ์— ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•ด์•ผ ํ•œ๋‹ค.

๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด,

ERROR: ER_NO_DB_ERROR: no database selected
 

์™€ ๊ฐ™์€ ์˜ค๋ฅ˜์™€ ๋งˆ์ฃผ์น˜๊ฒŒ ๋œ๋‹ค.

์ฒ˜์Œ RDS์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ƒ์„ฑํ–ˆ๋‹ค๋ฉด, ์ƒˆ๋กœ์šด ํ…Œ์ด๋ธ”์€ ์ƒ์„ฑํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ƒ์„ฑํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

varchar = ๋ฌธ์ž์—ดํƒ€์ž…

ํŠน์ • ํ…Œ์ด๋ธ” ๊ตฌ์„ฑ ํ™•์ธํ•˜๊ธฐ
DESC courses;
 

๋ฐฉ๊ธˆ ์ƒ์„ฑํ•œ ํ…Œ์ด๋ธ”์˜ ์นผ๋Ÿผ๋“ค๊ณผ ๋ฐ์ดํ„ฐ ํƒ€์ž…์— ๋งž๊ฒŒ ์ƒ์„ฑ๋œ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ…Œ์ด๋ธ”์— ๋ฐ์ดํ„ฐ ์‚ฝ์ž…ํ•˜๊ธฐ
INSERT INTO courses (title, tutor) VALUES
    ('Spring ๊ธฐ์ดˆ๋ฐ˜', '์ตœ์›๋นˆ'),
    ('Spring ์ˆ™๋ จ๋ฐ˜', '์ตœ์›๋นˆ'),
    ('React ๊ธฐ์ดˆ๋ฐ˜', '๊น€์˜ˆ์ง€'),
    ('React ์ˆ™๋ จ๋ฐ˜', '๊น€์˜ˆ์ง€'),
    ('Node.js ๊ธฐ์ดˆ๋ฐ˜', '์ด์šฉ์šฐ'),
    ('Node.js ์ˆ™๋ จ๋ฐ˜', '์ด์šฉ์šฐ'),
    ('์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ๋ฐ˜', '์ด๋ฒ”๊ทœ'),
    ('์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ๋ฐ˜ ํ”Œ๋Ÿฌ์Šค', '์ด๋ฒ”๊ทœ');

// insert into ๋ฌธ๋ฒ•์„ ํ†ตํ•ด courses ํ…Œ์ด๋ธ”์˜ title, tutor ์นผ๋Ÿผ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์„๊ฒƒ์ด๋‹ค
// ๋ฐ์ดํ„ฐ์˜ values๋Š” ๋‹ค์Œ()๊ณผ ๊ฐ™๋‹ค.
 
ํ…Œ์ด๋ธ” ์กฐํšŒํ•˜๊ธฐ
SELECT * FROM courses;
// courses์˜ ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“ (*)์ปฌ๋Ÿผ์„ ๋‹ค ์กฐํšŒํ•œ๋‹ค.
 

 

*๋ฅผ ๋Œ€์‹ ํ•ด์„œ ํŠน์ • ์นผ๋Ÿผ์„ ์กฐํšŒ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค, ์˜ˆ๋ฅผ๋“ค์–ด *์ž๋ฆฌ์— id, title, tutor๊ฐ€ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋Š”๊ฒƒ์ด๋‹ค.

๋ฐ์ดํ„ฐ ์กฐ๊ฑด ์กฐํšŒ
SELECT * FROM courses WHERE tutor='์ด์šฉ์šฐ';
 

์กฐ๊ฑด๋ฌธ์—์„œ๋Š” where์ ˆ ์‚ฌ์šฉํ•˜๊ธฐ.

์—ฐ์Šต
// name, age ๋ผ๋Š” Column์„ ๊ฐ€์ง„ users ๋ผ๋Š” ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ค๊ณ ,
// ๋‚˜์˜ ์ด๋ฆ„๊ณผ ๋‚˜์ด ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…. ๊ทธ ๋‹ค์Œ์— users ํ…Œ์ด๋ธ” ์กฐํšŒ.

CREATE TABLE IF NOT EXISTS users (
    userId int(11) NOT NULL AUTO_INCREMENT,
    name varchar(255) NOT NULL,
    age int(11) NOT NULL,
    PRIMARY KEY (userId) // ๊ธฐ๋ณธ ํ‚ค
);

INSERT INTO users (name, age) VALUES
    ('์ด์šฉ์šฐ', 29);

SELECT * FROM users;

// auto_increment ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ฐ’์„ 1์”ฉ ์˜ฌ๋ ค์ค€๋‹ค.
// ์ƒˆ๋กœ์šด userId๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ๋งˆ๋‹ค ์ž๋™์œผ๋กœ userId์— ํ•ด๋‹นํ•˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ’์ด 1์”ฉ ์ฆ๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
 

 

 

#SQL #๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค_์ƒ์„ฑ #ํ…Œ์ด๋ธ”์ƒ์„ฑ #column์ƒ์„ฑ #๋ฐ์ดํ„ฐ_์‚ฝ์ž