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

STUDY/DATABASE

(19)
MYSQL - ์—ฐ์Šต๋ฌธ์ œ(DML) 1. MY_EMPLOYEE๋ผ๋Š” ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑ 2. ๋‹ค์Œ ๋ฐ์ดํ„ฐ๋ฅผ MY_EMPLOYEE ํ…Œ์ด๋ธ”์— ์ถ”๊ฐ€ํ•˜๋Š” INSERT๋ฌธ์„ ์ž‘์„ฑ 3. ํ…Œ์ด๋ธ”์— ์ถ”๊ฐ€ํ•œ ๋‚ด์šฉ์„ ํ™•์ธ 4. ํ…Œ์ด๋ธ”์— ์‚ฝ์ž…ํ•œ ๋‚ด์šฉ์„ ์˜๊ตฌํžˆ ์ €์žฅ โ€ป MY_EMPLOYEE ํ…Œ์ด๋ธ”์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐฑ์‹ ํ•˜๊ณ  ์‚ญ์ œ 5. ID๊ฐ€ 3์ธ ์‚ฌ์›์˜ last_name์„ Drexler๋กœ ๋ณ€๊ฒฝ 6. ๊ธ‰์—ฌ๊ฐ€ $900 ๋ฏธ๋งŒ์ธ ๋ชจ๋“  ์‚ฌ์›์— ๋Œ€ํ•ด ๊ธ‰์—ฌ๋ฅผ $1000๋กœ ๋ณ€๊ฒฝ 7. ํ…Œ์ด๋ธ”์— ๋ณ€๊ฒฝ ์ž‘์—…ํ•œ ๋‚ด์šฉ์„ ํ™•์ธ 8. MY_EMPLOYEE ํ…Œ์ด๋ธ”์—์„œ Betty Dancs๋ž€ ์‚ฌ์›์„ ์‚ญ์ œ 9. ํ…Œ์ด๋ธ”์— ๋ณ€๊ฒฝ ์ž‘์—…ํ•œ ๋‚ด์šฉ์„ ํ™•์ธ 10. ๋ณด๋ฅ˜ ์ค‘์ธ ๋ชจ๋“  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ปค๋ฐ‹ โ€ป MY_EMPLOYEE ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ ํŠธ๋žœ์žญ์…˜์„ ์ œ์–ด 11. ๋‹ค์Œ ๋ฐ์ดํ„ฐ๋ฅผ MY_EMPLOYEE ํ…Œ์ด๋ธ”์— ์ถ”๊ฐ€ํ•˜๋Š”..
MYSQL - TCL(ํŠธ๋žœ์žญ์…˜์ œ์–ด์–ด) ํŠธ๋žœ์žญ์…˜ ? ํ•˜๋‚˜์˜ ๋…ผ๋ฆฌ์ ์ธ ์ž‘์—… ๋‹จ์œ„ ์—ฌ๋Ÿฌ ๊ฐœ์˜ DML์ด ํ•˜๋‚˜์˜ ํŠธ๋žœ์žญ์…˜์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Œ(insert, update, delete) ํ•˜๋‚˜์˜ DDL์ด ํ•˜๋‚˜์˜ ํŠธ๋žœ์žญ์…˜์„ ๊ตฌ์„ฑํ•จ(create, alter, drop, truncate) 1. commit : ๋ณ€๊ฒฝ์ž‘์—…์„ ์˜๊ตฌํžˆ ์ €์žฅ 2. rollback : ๋ณ€๊ฒฝ์ž‘์—…์„ ํŠธ๋žœ์žญ์…˜ ์ฒ˜์Œ์œผ๋กœ ๋˜๋Œ๋ฆผ commit; ------------------------------------------- Transection1(start)-> insert ---; update ---; update ---; commit; delete ---; update ---; rollback; create table ---;(DDL) (auto commit ๋‚ดํฌ) -----------------..
MYSQL - DML_๋ฐ์ดํ„ฐ ์‚ญ์ œ(delete) delete : ๋ฐ์ดํ„ฐ ์‚ญ์ œ DELETE FROM table WHERE condition ; delete from departments where department_name = 'Finance'; -- departments ๋ถ€์„œ์—์„œ ๋ถ€์„œ ์ด๋ฆ„์ด Finance ์ธ ํ–‰์„ ์‚ญ์ œ * Error Code: 1451. Cannot delete or update a parent row: a foreign key constraint fails - foeign key์™€ primary key ๊ด€๊ณ„๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ ์ž์‹๊ฐ’์ด ์žˆ์„ ๋•Œ ๋ถ€๋ชจ๊ฐ’์„ ์‚ญ์ œํ•˜๋ฉด ์—๋Ÿฌ ๋ฐœ์ƒ select * from employees where department_name = 'Finace'; -- department_name ์ด 'Finace'์ธ ์ง์›์ด ..
MySQL - ๋‹จ์ผ ํ–‰ ํ•จ์ˆ˜(๋ฌธ์žํ•จ์ˆ˜) 1. ASCII(์•„์Šคํ‚ค์ฝ”๋“œ) : ๋ฌธ์ž์˜ ์•„์Šคํ‚ค ์ฝ”๋“œ ๊ฐ’์„ ๋ฐ˜ํ™˜ 2. CHAR(์ˆซ์ž) : ์ˆซ์ž์˜ ์•„์Šคํ‚ค ์ฝ”๋“œ๊ฐ’์„ ๋ฐ˜ํ™˜ *CHAR()์˜ ๊ฒฝ์šฐ BLOB๋กœ ํ‘œ์‹œ๋˜๋Š” ๊ฒฝ์šฐ ์›Œํฌ๋ฒค์น˜์˜ ๋ฒ„๊ทธ์ด๋ฏ€๋กœ BLOB์—์„œ ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ ํด๋ฆญ ํ›„ "Open Value in Viewer] ์„ ํƒ ํ›„ text ํƒญ์— ๋“ค์–ด๊ฐ€๋ฉด ์ •์ƒ์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Œ. 3. LENGTH(๋ฌธ์ž์—ด) : ๋ฌธ์ž์—ด์˜ byte ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ 4. BIT_LENGTH(๋ฌธ์ž์—ด) : ํ• ๋‹น๋œ bit ํฌ๊ธฐ ๋˜๋Š” ๋ฌธ์ž ํฌ๊ธฐ๋ฅผ ๋ฐ˜ํ™˜ 5. CHAR_LENGTH(๋ฌธ์ž์—ด) : ๋ฌธ์ž์˜ ๊ฐœ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ 6. CONCAT(๋ฌธ์ž์—ด1, ๋ฌธ์ž์—ด2, ...) : ๋ฌธ์ž์—ด์„ ์—ฐ๊ฒฐ 7. CONCAT_WS(๊ตฌ๋ถ„์ž, ๋ฌธ์ž์—ด1, ๋ฌธ์ž์—ด2, ...) : ๊ตฌ๋ถ„์ž๋กœ ๋ฌธ์ž์—ด ์—ฐ๊ฒฐ 8. INSTR(๊ธฐ์ค€๋ฌธ์ž, ๋ถ€๋ถ„..
MySQL - JOIN JOIN ? ์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ•จ๊ป˜ ์ถœ๋ ฅํ•  ๋•Œ ์‚ฌ์šฉ ์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ”์—์„œ ๊ณตํ†ต๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋œ ์ปฌ๋Ÿผ์„ ์ฐพ์•„์„œ ์กฐ์ธ ๊ตฌ๋ฌธ์„ ์ž‘์„ฑํ•ด์•ผ ํ•จ. ๋ชจํ˜ธํ•œ ์ปฌ๋Ÿผ๋ช… ์•ž์—๋Š” ๋ฐ˜๋“œ์‹œ ํ…Œ์ด๋ธ” ๋ช…์ด๋‚˜ ํ…Œ์ด๋ธ” ALIAS๋ช…์„ ์ ‘๋‘์–ด๋กœ ๋ถ™์—ฌ์•ผ ํ•จ. ํ•œ์ชฝ ํ…Œ์ด๋ธ”์—๋งŒ ์žˆ๋Š” ์œ ์ผํ•œ ์ปฌ๋Ÿผ๋ช…์•ž์—๋Š” ํ…Œ์ด๋ธ”๋ช…์ด๋‚˜ ํ…Œ์ด๋ธ” alias ๋ช…์ด ํ•„์ˆ˜๋Š” ์•„๋‹ˆ๋‚˜, ๊ถŒ์žฅ์‚ฌํ•ญ ์˜ˆ์ œ1. employees ํ…Œ์ด๋ธ”๊ณผ departments ํ…Œ์ด๋ธ”์„ ์กฐ์ธํ•ด์„œ ์‚ฌ๋ฒˆ, ์ด๋ฆ„, ๊ธ‰์—ฌ, ๋ถ€์„œ์ด๋ฆ„์„ ์ถœ๋ ฅํ•˜๋Š” ๊ตฌ๋ฌธ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. >> employees ํ…Œ์ด๋ธ”๊ณผ dapartments ํ…Œ์ด๋ธ”์ด ๊ณตํ†ต์œผ๋กœ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” department_id๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์กฐ์ธ ์˜ˆ์ œ2. employees ํ…Œ์ด๋ธ”๊ณผ departments ํ…Œ์ด๋ธ”์„ ์กฐ์ธํ•ด์„œ ์‚ฌ๋ฒˆ, ์ด๋ฆ„, ๊ธ‰์—ฌ, ๋ถ€์„œ๋ฒˆํ˜ธ, ๋ถ€์„œ์ด๋ฆ„์„ ์ถœ๋ ฅํ•˜๋Š”..
MySQL - ERD ๋งŒ๋“ค๊ธฐ ERD ? ๊ฐœ์ฒด-๊ด€๊ณ„ ๋‹ค์ด์–ด๊ทธ๋žจ์˜ ์•ฝ์ž๋กœ ๊ฐœ์ฒด์™€ ๊ฐœ์ฒด ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ๋„ํ‘œ(๋‹ค์ด์–ด ๊ทธ๋žจ)์œผ๋กœ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ• ๋ฆฌ๋ฒ„์Šค ๋ชจ๋ธ๋ง ? ๊ธฐ์กด์˜ Database(Schema)๋ฅผ ERD๋กœ ๋ฐ”๊พธ๋Š” ์ž‘์—… Database์˜ ์ „์ฒด์ ์ธ ๊ตฌ์กฐ๋ฅผ ํŒŒ์•…ํ•˜๊ธฐ ์‰ฌ์›€ ERD ๋งŒ๋“ค๊ธฐ 1. [Home] - [Models] - [Create EER Model from Database] 2. ์ ‘์† ์ •๋ณด ์ž…๋ ฅ ํ›„ next 3. DBMS ์ ‘์†์ด ์™„๋ฃŒ ๋˜๋ฉด next 4. ERD๋ฅผ ์ƒ์„ฑํ•  ๊ธฐ์กด database ์„ ํƒ ํ›„ next 5. ์„ ํƒํ•œ ์Šคํ‚ค๋งˆ ํ™•์ธ ์ž‘์—…์ด ์™„๋ฃŒ ๋˜๋ฉด next 6. ๋ฆฌ๋ฒ„์Šค ์—”์ง€๋‹ˆ์–ด๋ง ์ž‘์—…์„ ํ•  ํ…Œ์ด๋ธ” ํ™•์ธ ํ›„ execute 7. ๋ฆฌ๋ฒ„์Šค ์—”์ง€๋‹ˆ์–ด๋ง ์ž‘์—…์ด ์™„๋ฃŒ๋˜๋ฉด next ํ›„ finish 8. ๋งŒ๋“ค์–ด์ง„ ERD ํ™•์ธ
MySQL ๋ฌธ๋ฒ• 1. describe employees : employees ํ…Œ์ด๋ธ” ๊ตฌ์กฐ ์กฐํšŒ 2. select * : ์ „์ฒด ๋ฐ์ดํ„ฐ ์กฐํšŒ ์ปฌ๋Ÿผ๋ช… : ํ•ด๋‹น ์ปฌ๋Ÿผ๋งŒ ์กฐํšŒ ์ปฌ๋Ÿผ๋ช… + ์‚ฌ์น™์—ฐ์‚ฐ : ํ•ด๋‹น ๊ณ„์‚ฐ์‹ ๋Œ€๋กœ ๊ณ„์‚ฐ๋œ ๊ฒฐ๊ณผ๊ฐ€ ์กฐํšŒ ์กฐํšŒ๋œ ์ปฌ๋Ÿผ๋ช… ๋ณ€๊ฒฝ : select ํ…Œ์ด๋ธ”๋ช… AS 0000 : select ํ…Œ์ด๋ธ”๋ช… "0000" select last_name, salary, 12*salary+100 from employees; select last_name, salary, 12*(salary+100) from employees; select employee_id "Emp #", last_name "Employee", job_id "Job ", hire_date "Hire Date" from employees; 3. distin..
MySQL ๋ฐ์ดํ„ฐ ์กฐํšŒ(SELECT) 1. SELECT select * from ํ…Œ์ด๋ธ” ๋ช… where ์กฐ๊ฑด๋ฌธ; -------------------------- select ์ปฌ๋Ÿผ1, ์ปฌ๋Ÿผ2, ์ปฌ๋Ÿผ3, ... from ํ…Œ์ด๋ธ”๋ช… where ์กฐ๊ฑด๋ฌธ; โ“ ๋ชจ๋“  ๋ฐ์ดํ„ฐ ์กฐํšŒ //members ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ ์กฐํšŒ select * from members; โ“‘ ํŠน์ • ์ปฌ๋Ÿผ ์กฐํšŒ select member_id,member_name, phone from members; โ“’ select ๊ตฌ๋ฌธ์— ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž ํ™œ์šฉํ•˜๊ธฐ(+,-,*,%) -> alias : ์ปฌ๋Ÿผ์ œ๋ชฉ์„ ์›ํ•˜๋Š” ์ œ๋ชฉ์œผ๋กœ ์ถœ๋ ฅํ•  ๊ฒฝ์šฐ ์‚ฌ์šฉ select ์ปฌ๋Ÿผ1, ์ปฌ๋Ÿผ2[AS] 'alias' from ํ…Œ์ด๋ธ”๋ช… where ์กฐ๊ฑด๋ฌธ; select prod_id, prod_name, price+50 as '์ธ์ƒ์˜ˆ..

๋ฐ˜์‘ํ˜•