๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋ฐ˜์‘ํ˜•

Data Base56

MySQL ๋ฌธ์ œ *ํ…Œ์ด๋ธ” ์ƒ์„ฑํ•˜๊ธฐ mysql> create table product( -> pro_code varchar(5) not null, -> pro_name varchar(10), -> pro_price int(5) not null default 0, -> create_day date, -> primary key (pro_code) -> )engine = innoDB; โ€‹โ€‹ โ€‹ *ํ…Œ์ด๋ธ” ์—ด์ด๋ฆ„ ๋ณ€๊ฒฝ mysql> alter table product change pro_price ์ƒํ’ˆ๊ฐ€๊ฒฉ int(5) not null default 0; โ€‹ โ€‹ *ํ…Œ์ด๋ธ” ์—ด ์ถ”๊ฐ€ mysql> alter table product add pro_etc varchar(30); โ€‹ โ€‹ *ํ…Œ์ด๋ธ” ์—ด ์‚ญ์ œํ•˜๊ธฐ mysql> alter table .. 2021. 2. 9.
MySQL 25๋ฒˆ์งธ์ˆ˜์—… ์˜ˆ์ œ 18-6) ๋ทฐ ํ…Œ์ด๋ธ”(V_AGES)์—์„œ ์žฌํ•™์ƒ ์ค‘ 21์„ธ ์ด์ƒ์ด๊ณ , 2018๋…„~2020๋…„์— ์ž…ํ•™ํ•œ ํ•™์ƒ์„ ๊ตฌํ•˜์—ฌ๋ผ. A) mysql> select * from V_AGES -> where age > 20 -> and ibhak_year between '2018' and '2020'; โ€‹ โ€‹ ์˜ˆ์ œ 18-7) ๋ทฐ ํ…Œ์ด๋ธ”(V_AGES)๋ฅผ ์‚ญ์ œํ•˜๋ผ. A) โ€‹ โ€‹ โ–ถ ๋ทฐ์˜ ์—ด ์ด๋ฆ„ โ€‹ ์˜ˆ์ œ 18-8) ์ง‘์ฃผ์†Œ๊ฐ€ ์„œ์šธํŠน๋ณ„์‹œ์ธ ํ•™์ƒ์˜ ํ•™๋ฒˆ, ์ด๋ฆ„, ์šฐํŽธ๋ฒˆํ˜ธ, ํ˜„์ฃผ์†Œ๋กœ ๊ตฌ์„ฑ๋œ ๋ทฐ ํ…Œ์ด๋ธ”(V_ADDRESS)๋ฅผ ์ƒ์„ฑํ•˜๋ผ. A) โ€‹ โ€‹ ์˜ˆ์ œ 18-9) ๋“ฑ๋ก๊ธˆ ์ด์•ก๋ณ„๋กœ ํ•™์ƒ ์ธ์› ์ˆ˜ ํ˜„ํ™ฉ์„ ์ƒ์„ฑํ•˜๋Š” ๋ทฐ ํ…Œ์ด๋ธ” V_FEETOTAL๋ฅผ ์ƒ์„ฑํ•˜๋ผ. A) โ€‹ ์˜ˆ์ œ 18-10) ๋“ฑ๋ก๊ธˆ ์ด์•ก๋ณ„๋กœ ํ•™์ƒ ์ธ์› ์ˆ˜ ํ˜„ํ™ฉ์„ ์ƒ์„ฑํ•œ ๋ทฐ ํ…Œ์ด๋ธ”.. 2021. 2. 9.
MySQL 24๋ฒˆ์งธ์ˆ˜์—… (๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ๋ฌธ์ œ๋ผ์„œ ๊ฒฐ๊ณผ๋Š” ์บก์ณ์•ˆํ•จ) โ€‹ 16-1) ํ˜„์žฌ ํ•™๋…„์ด 3ํ•™๋…„์ด๋ฉด 2019๋…„ 1ํ•™๊ธฐ์— ๋“ฑ๋ก ํ…Œ์ด๋ธ”์˜ ์ˆ˜์—…๋ฃŒ(fee_price)์— 100000์›, ๋“ฑ๋ก๊ธˆ์ด์•ก(fee_total), ๋‚ฉ๋ถ€์ด์•ก(fee_pay)์— ๊ฐ๊ฐ 100000์›์„ ๊ฐ€์‚ฐํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋ผ. A) mysql> update fee -> set fee_price = fee_price + 100000, -> fee_total = fee_total + 100000, -> fee_pay = fee_pay + 100000 -> where fee_year = 2019 and fee_term = 1 and stu_no in -> (select stu_no from student where grade = 3); โ€‹ โ€‹ 16-2) ๋“ฑ๋ก ํ…Œ์ด๋ธ”์—์„œ.. 2021. 2. 9.
MySQL 23๋ฒˆ์งธ์ˆ˜์—… โ–ถ SELECT ๋ช…๋ น๋ฌธ : ์กฐ์ธ(JOIN) โ€‹ *์กฐ์ธ(JOIN) ํ…Œ์ด๋ธ”์˜ ์กฐ์ธ์—์„œ ํ…Œ์ด๋ธ”์— ์žˆ๋Š” ํ–‰์€ ์กฐํ•ฉ๋˜์–ด ๊ฒฐ๊ณผ ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•œ๋‹ค. SELECT ๋ช…๋ น๋ฌธ์˜ FROM ์ ˆ์— ์ ์–ด๋„ ๋‘ ๊ฐœ์˜ ํ…Œ์ด๋ธ” ๋ช…์„ธ๊ฐ€ ์žˆ๊ณ , WHERE ์ ˆ์—๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์˜ ์—ด์„ ๋น„๊ตํ•˜๋Š” ์กฐ๊ฑด์ด ์ ์–ด๋„ ํ•˜๋‚˜๊ฐ€ ์žˆ๋‹ค๋ฉด ์ด๋ฅผ ์กฐ์ธ(JOIN)์ด๋ผ ํ•œ๋‹ค. โ€‹ โ€‹ ์˜ˆ์ œ 15-1) ํ•™์  ํ…Œ์ด๋ธ”์— ์กด์žฌํ•˜๋Š” ํ•™์ƒ๋“ค ์ค‘์—์„œ ์•„์ง ๋“ฑ๋ก์„ ํ•˜์ง€ ๋ชปํ•œ ํ•™์ƒ์ด ์žˆ๋‹ค. ๊ฐ ํ•™์ƒ์— ๋Œ€ํ•˜์—ฌ ํ•™๋ฒˆ, ์ด๋ฆ„, ๋“ฑ๋ก๋…„๋„, ํ•™๊ธฐ, ํ•™์ƒ์ด ๋“ฑ๋กํ•œ ๋‚ฉ์ž…๊ธˆ ์ด์•ก์„ ์ถœ๋ ฅํ•˜๋ผ.โ€‹ A) mysql> select student.stu_no, stu_name, fee_year, fee_term, fee_pay -> from student inner join fee -> on stud.. 2021. 2. 9.
MySQL 22๋ฒˆ์งธ์ˆ˜์—… โ–ถ ๋ถ€์† ์งˆ์˜์–ด ๋ถ€์† ์งˆ์˜์–ด๋Š”(subquery)๋Š” SELECT ๋ช…๋ น๋ฌธ์˜ ์กฐ๊ฑด์— ์žˆ๋Š” SELECT ๋ช…๋ น๋ฌธ์ด๋‹ค. ๋ถ€์† ์งˆ์˜์–ด๋ฅผ ๋‹ค๋ฅด๊ฒŒ ๋งํ•˜๋ฉด ๋‚ด๋ถ€ ์„ ํƒ๋ฌธ์ด๋ผ ํ•  ์ˆ˜ ์žˆ๋‹ค. โ€‹ ์กฐ๊ฑด) 1. ๋งŒ์•ฝ ๋ถ€์† ์งˆ์˜์–ด๊ฐ€ exists ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด select์ ˆ์—๋Š” ์˜ค์ง ํ•˜๋‚˜์˜ ์ˆ˜์‹๋งŒ ์‚ฌ์šฉ๋˜์–ด์•ผํ•œ๋‹ค. 2. select์ ˆ์— distinct๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค. 3. order by์ ˆ์€ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค. โ€‹ โ€‹โ€‹ โ€‹ 1. ์ƒํ˜ธ ๊ด€๋ จ ๋ถ€์† ์งˆ์˜์–ด์˜ ์˜ˆ์ œ โ€‹ ์˜ˆ์ œ 14-2) ํ•™์ƒ ์ค‘์— ๋™์•„๋ฆฌ์˜ ๋“ฑ๊ธ‰์ด ์ผ๋ฐ˜ ํšŒ์›์ธ ํ•™์ƒ์˜ ํ•™๋ฒˆ๊ณผ ์ด๋ฆ„, ์ƒ๋…„์›”์ผ์„ ์ถœ๋ ฅํ•˜๋ผ. A) mysql> select stu_no, stu_name, birthday -> from student -> where stu_no in -> (select st.. 2021. 2. 9.
MySQL 21๋ฒˆ์งธ์ˆ˜์—… โ€‹ 11-10) ๋“ฑ๋ก๊ธˆ ์ด์•ก์ด 20191005๋ฒˆ๊ณผ ๋™์ผํ•œ ํ•™์ƒ์˜ ํ•™๋ฒˆ๊ณผ ๋“ฑ๋ก๊ธˆ์„ ์ถœ๋ ฅํ•˜๋ผ. A) mysql> select stu_no, sum(fee_total) -> from fee -> group by stu_no -> having sum(fee_total) = all -> (select sum(fee_total) from fee where stu_no = '20191005'); โ€‹ โ€‹ 11-11) ์ˆ˜๊ฐ•์‹ ์ฒญํ•œ ํ•™์ƒ์ด ๋“ฑ๋ก์„ ํ•˜์˜€๋‹ค๋ฉด ํ•™์ƒ์ด ๋‚ฉ์ž…ํ•œ ํ•™๋ฒˆ๊ณผ ๋“ฑ๋ก๊ธˆ ์ด์•ก์„ ์ถœ๋ ฅํ•˜๋ผ.โ€‹ A) mysql> select stu_no, sum(fee_total) -> from fee -> group by stu_no -> having stu_no in -> (select stu_no from attend wher.. 2021. 2. 9.
๋ฐ˜์‘ํ˜•