728x90

DB(Database) 27

[DB] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ

3์žฅ. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ DB, DBMS, DB ์‹œ์Šคํ…œ์˜ ์ฐจ์ด ์ดํ•ด DB ์‹œ์Šคํ…œ์˜ ๊ตฌ์„ฑ ์š”์†Œ DB์˜ 3๋‹จ๊ณ„ ๊ตฌ์กฐ์—์„œ ๋ฐ์ดํ„ฐ ๋…๋ฆฝ์„ฑ์˜ ๊ฐœ๋…์„ ์‹คํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ• ์ดํ•ด DB ์‚ฌ์šฉ์ž๋ณ„ ํŠน์ง• DBMS์˜ ๊ตฌ์„ฑ 1. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์˜ ์ •์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ(DBS, DataBase System) ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ , ์ด๋ฅผ ๊ด€๋ฆฌํ•ด ์กฐ์ง์— ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ์ƒ์„ฑํ•ด์ฃผ๋Š” ์‹œ์Šคํ…œ (๋‹ค์–‘ํ•œ ๋ชฉ์ ์˜ ์ •๋ณด ์‹œ์Šคํ…œ ๊ตฌ์ถ•์— ํ•„์š”ํ•œ ์ค‘์š”ํ•œ ํ•ต์‹ฌ ์š”์†Œ, ์ „์ฒด์ ์ธ ์‹œ์Šคํ…œ ์˜๋ฏธ) 2. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ตฌ์กฐ ์Šคํ‚ค๋งˆ์™€ ์ธ์Šคํ„ด์Šค ์Šคํ‚ค๋งˆ(schema): ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋˜๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์™€ ์ œ์•ฝ ์กฐ๊ฑด ์ •์˜ํ•œ ๊ฒƒ ์ธ์Šคํ„ด์Šค(instance): ์Šคํ‚ค๋งˆ์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์‹ค์ œ๋กœ ์ €์žฅ๋œ ๊ฐ’ 3๋‹จ๊ณ„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์กฐ ์‚ฌ์šฉ์ž์˜ ๊ด€์ ์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ..

[DB] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ DBMS

2์žฅ. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์˜ ๋“ฑ์žฅ ๋ฐฐ๊ฒฝ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์˜ ์ •์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์˜ ์žฅ๋‹จ์  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์˜ ๋ฐœ์ „ ๊ณผ์ • 1. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ ๋“ฑ์žฅ ๋ฐฐ๊ฒฝ ํŒŒ์ผ ์‹œ์Šคํ…œ ๋ฐ์ดํ„ฐ๋ฅผ ํŒŒ์ผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ํŒŒ์ผ์„ ์ƒ์„ฑ, ์‚ญ์ œ, ์ˆ˜์ •, ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์‘์šฉํ”„๋กœ๊ทธ๋žจ๋งˆ๋‹ค ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ„๋„๋กœ ๊ด€๋ฆฌ ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ๋ฌธ์ œ์  ๊ฐ™์€ ๋‚ด์šฉ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์—ฌ๋Ÿฌ ํŒŒ์ผ์— ์ค‘๋ณต ์ €์žฅ๋จ ๋ฐ์ดํ„ฐ ์ค‘๋ณต์„ฑ ์ €์žฅ ๊ณต๊ฐ„์˜ ๋‚ญ๋น„ + ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ, ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ ์œ ์ง€ ์–ด๋ ค์›€ [๊ทธ๋ฆผ2-2] ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ๋ฐ์ดํ„ฐ ํŒŒ์ผ์— ์ข…์†์  ๋ฐ์ดํ„ฐ ์ข…์†์„ฑ ์‚ฌ์šฉํ•˜๋Š” ํŒŒ์ผ์˜ ๊ตฌ์กฐ ๋ณ€๊ฒฝํ•˜๋ฉด ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ๋„ ํ•จ๊ป˜ ๋ณ€๊ฒฝํ•ด์•ผ ํ•จ [๊ทธ๋ฆผ 2-3] ๋ฐ์ดํ„ฐ ํŒŒ์ผ์— ๋Œ€ํ•œ ๋™์‹œ ๊ณต์œ , ๋ณด์™„, ํšŒ๋ณต ๊ธฐ๋Šฅ ๋ถ€..

[MySQL] ๋‹ค๋Œ€๋‹ค ๊ด€๊ณ„ ํ…Œ์ด๋ธ” SQL ์ฟผ๋ฆฌ๋ฌธ์œผ๋กœ JOIN ํ•˜๊ธฐ

์ผ๋Œ€๋‹ค, ๋‹ค๋Œ€๋‹ค ๊ด€๊ณ„ 1:๋‹ค ๊ด€๊ณ„ ํ•œ์ชฝ ํ…Œ์ด๋ธ”์—๋Š” ํ•˜๋‚˜์˜ ๊ฐ’๋งŒ ์กด์žฌํ•˜๊ณ , ๊ทธ ๊ฐ’๋งŒ ๋Œ€์‘๋˜๋Š” ๋‹ค๋ฅธ ์ชฝ ํ…Œ์ด๋ธ”์˜ ๊ฐ’์€ ์—ฌ๋Ÿฌ ๊ฐœ์ธ ๊ด€๊ณ„ EX) ํ•™์ƒ ํ…Œ์ด๋ธ”๊ณผ ์ ์ˆ˜ ํ…Œ์ด๋ธ”, ์ง์› ํ…Œ์ด๋ธ”๊ณผ ์›”๊ธ‰ ํ…Œ์ด๋ธ” ๋‹ค:๋‹ค ๊ด€๊ณ„ ํ•œ ํ•™์ƒ์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋™์•„๋ฆฌ์— ๊ฐ€์ž…ํ•  ์ˆ˜ ์žˆ๊ณ , ํ•œ ๋™์•„๋ฆฌ์—๋Š” ์—ฌ๋Ÿฌ ํ•™์ƒ์ด ๊ฐ€์ž…ํ•  ์ˆ˜ ์žˆ์–ด ํ•™์ƒ ํ…Œ์ด๋ธ”๊ณผ ๋™์•„๋ฆฌ ํ…Œ์ด๋ธ”์€ ๋‹ค๋Œ€๋‹ค ๊ด€๊ณ„์ž„. ๋‹ค๋Œ€๋‹ค ๊ด€๊ณ„์˜ ๊ฒฝ์šฐ ์—ฐ๊ฒฐ ํ…Œ์ด๋ธ”๊ณผ ๋‘ ํ…Œ์ด๋ธ”์ด ์ผ๋Œ€๋‹ค ๊ด€๊ณ„๋ฅผ ๋งบ๋„๋ก ๊ตฌ์„ฑ EX) ํ•™์ƒ ํ…Œ์ด๋ธ”, ํ•™์ƒ_๋™์•„๋ฆฌ ํ…Œ์ด๋ธ”(ํ•™์ƒํ…Œ์ด๋ธ”๊ณผ ๋™์•„๋ฆฌํ…Œ์ด๋ธ”์˜ ์—ฐ๊ฒฐ ํ…Œ์ด๋ธ”), ๋™์•„๋ฆฌ ํ…Œ์ด๋ธ” ํ•™์ƒ ํ…Œ์ด๋ธ”, ํ•™์ƒ_๋™์•„๋ฆฌ ํ…Œ์ด๋ธ”, ๋™์•„๋ฆฌ ํ…Œ์ด๋ธ” ์ƒ์„ฑํ•˜๋Š” ์ฟผ๋ฆฌ๋ฌธ -- ํ•™์ƒ ํ…Œ์ด๋ธ” drop table if exists stdtbl; create table stdtbl( stdname varch..

DB(Database)/MySQL 2021.02.16

SQL UNION, UNIONALL, NOT IN, IN

UNION ๋‘ ์ฟผ๋ฆฌ์˜ ๊ฒฐ๊ณผ๋ฅผ ํ–‰์œผ๋กœ ํ•ฉ์น˜๋Š” ์—ฐ์‚ฐ์ž ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ ์ถœ๋ ฅ ์‹œ ์ค‘๋ณต๋œ ๊ฒƒ ์ œ์™ธ SELECT [๋ฌธ์žฅ1] UNION [ALL] SELECT [๋ฌธ์žฅ2] UNION ALL ๋‘ ์ฟผ๋ฆฌ์˜ ๊ฒฐ๊ณผ๋ฅผ ํ–‰์œผ๋กœ ํ•ฉ์น˜๋Š” ์—ฐ์‚ฐ์ž UNION๊ณผ ๋‹ค๋ฅด๊ฒŒ ์ค‘๋ณต๋œ ๊ฒƒ๋„ ๋‹ค ์ถœ๋ ฅ NOT IN ์ฒซ ๋ฒˆ์งธ ์ฟผ๋ฆฌ์˜ ๊ฒฐ๊ณผ ์ค‘์—์„œ ๋‘ ๋ฒˆ์งธ ์ฟผ๋ฆฌ์— ํ•ด๋‹นํ•˜๋Š” ๊ฒƒ ์ œ์™ธํ•˜๊ณ  ์ถœ๋ ฅ SELECT * FROM [ํ…Œ์ด๋ธ”๋ช…] WHERE [์กฐ๊ฑด ์—ด] NOT IN (์„œ๋ธŒ์ฟผ๋ฆฌ) ์ฐธ๊ณ ) MySQL ๊ธฐ์ดˆ์—์„œ ์‹ค๋ฌด๊นŒ์ง€ ์™„์ „์ •๋ณต ํ•˜๊ธฐ - ์•„์ดํ‹ฐ๊ณ  ์‹ ๊ฒฝ์ง„ ๊ฐ•์‚ฌ

SQL ์กฐ์ธ, ์ผ๋Œ€๋‹ค, ๋‹ค๋Œ€๋‹ค ๊ด€๊ณ„ - Inner Join, Outer Join, Cross Join, Self Join

๋ณดํ†ต ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋Œ€์šฉ๋Ÿ‰์ด๋ผ, ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ…Œ์ด๋ธ”๋กœ ๋ถ„๋ฆฌํ•ด์„œ ์ €์žฅํ•œ๋‹ค. → ์ค‘๋ณต๊ณผ ๊ณต๊ฐ„ ๋‚ญ๋น„ ๋ฐฉ์ง€, ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ ์œ„ํ•จ → ๋ถ„๋ฆฌ๋œ ํ…Œ์ด๋ธ”์€ ์„œ๋กœ ๊ด€๊ณ„(relation) ๊ฐ€์ง€๋ฏ€๋กœ join ์‹œ ์ˆ™์ง€๊ฐ€ ํ•„์š”ํ•˜๋‹ค. (๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ DBMS ์ •์˜ ์ฐธ๊ณ ) ahnty0122.tistory.com/26 [DB] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ž€? DBMS๋ž€? ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ •์˜์™€ ํŠน์ง• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๋‚˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ๊ณต์œ  + ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ์˜ ์ง‘ํ•ฉ ๋ฐ์ดํ„ฐ์˜ ์ €์žฅ ๊ณต๊ฐ„ ๊ทธ ์ž์ฒด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํŠน์ง• ๋ฐ์ดํ„ฐ์˜ ๋ฌด๊ฒฐ์„ฑ: ์˜ค๋ฅ˜๊ฐ€ ์žˆ์–ด ahnty0122.tistory.com JOIN 2๊ฐœ ์ด์ƒ์˜ ํ…Œ์ด๋ธ” ๋ฌถ์–ด์„œ ํ•˜๋‚˜์˜ ๊ฒฐ๊ณผ ํ…Œ์ด๋ธ”์„ ๋งŒ๋“œ๋Š” ๊ฒƒ Inner join ํ†ต์ƒ ์กฐ์ธ ๊ต์ง‘ํ•ฉ, ์กฐ์ธ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ํ–‰๋งŒ ์ถœ๋ ฅํ•˜๋Š” ์กฐ์ธ SELECT ..

[MySQL] ๋Œ€์šฉ๋Ÿ‰ ํ…Œ์ด๋ธ” csv, txt ํŒŒ์ผ ํ˜•ํƒœ๋กœ ๋‚ด๋ณด๋‚ด๊ธฐ & ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

txt ํŒŒ์ผ๋กœ ๋‚ด๋ณด๋‚ด๊ธฐ select * from [ํ…Œ์ด๋ธ”๋ช…] into outfile '[ํŒŒ์ผ๋ช…].txt' character set utf8mb4 fields terminated by ',', optionally enclosed by '"' escaped by '\\' lines terminated by '\n'; csv ํŒŒ์ผ๋กœ ๋‚ด๋ณด๋‚ด๊ธฐ select * from [ํ…Œ์ด๋ธ”๋ช…] into outfile '[ํŒŒ์ผ๋ช…].csv' character set utf8mb4 fields terminated by ',', optionally enclosed by '"' escaped by '\\' lines terminated by '\n'; txt ํŒŒ์ผ ํ…Œ์ด๋ธ”๋กœ ์ฝ์–ด์˜ค๊ธฐ load data infile '[ํŒŒ์ผ๋ช…].txt' ..

DB(Database)/MySQL 2021.02.09

JSON ๋ฐ์ดํ„ฐ๋ž€? + MySQL ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์ €์žฅ ํ˜•์‹

JSON ํ˜•์‹์ด๋ž€? JSON (JavaScript Object Notation) ์›น ํ™˜๊ฒฝ์ด๋‚˜ ๋ชจ๋ฐ”์ผ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๋“ฑ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตํ™˜ํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“  ๊ฐœ๋ฐฉํ˜• ํ‘œ์ค€ ํฌ๋งท ์†์„ฑ(KEY)๊ณผ ๊ฐ’(VALUE) ์Œ์œผ๋กœ ๊ตฌ์„ฑ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด์—์„œ ํŒŒ์ƒ๋˜์—ˆ์ง€๋งŒ ํŠน์ • ์–ธ์–ด์— ์ข…์†๋˜์ง€ ์•Š๊ณ  ๊ตํ™˜ํ•  ์ˆ˜ ์žˆ๋Š” ๋…๋ฆฝ์ ์ธ ๋ฐ์ดํ„ฐ ํฌ๋งท ํฌ๋งท์ด ๋‹จ์ˆœ, ๊ณต๊ฐœ๋˜์–ด ์žˆ์–ด ๊ฑฐ์˜ ๋Œ€๋ถ€๋ถ„์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ ์‰ฝ๊ฒŒ ์ฝ๊ฑฐ๋‚˜ ์“ธ ์ˆ˜ ์žˆ๋„๋ก ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐ€๋Šฅ โ€ป ์ตœ๊ทผ ๊ธฐ์กด ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ NoSQL๋กœ์˜ ๋ณ€ํ™”๊ฐ€ ์ด๋ฃจ์–ด์ง€๊ณ  ์žˆ๋Š”๋ฐ, ์ด๋•Œ JSON ํ˜•ํƒœ๋Š” ๋งค์šฐ ์ค‘์š” โ€ป But, ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์•Œ์•„์•ผ NoSQL ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ˆ™์ง€ ํ•„์ˆ˜ JSON_OBJECT() ์ฟผ๋ฆฌ๋ฌธ ๊ฒฐ๊ณผ๋ฅผ JSON ํ˜•ํƒœ๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” ํ•จ์ˆ˜ @json ๋ณ€์ˆ˜์— JSON ๋ฐ์ดํ„ฐ..

[MySQL] ๋‚ด์žฅํ•จ์ˆ˜ - ์ˆ˜ํ•™ ํ•จ์ˆ˜, ๋‚ ์งœ/์‹œ๊ฐ„ ํ•จ์ˆ˜, ์‹œ์Šคํ…œ/์ •๋ณด ํ•จ์ˆ˜

์ˆ˜ํ•™ ํ•จ์ˆ˜ ABS(์ˆซ์ž) : ์ ˆ๋Œ€๊ฐ’ ๊ณ„์‚ฐ CEILING(์ˆซ์ž) : ์˜ฌ๋ฆผ FLOOR(์ˆซ์ž) : ๋‚ด๋ฆผ ROUNG(์ˆซ์ž) : ๋ฐ˜์˜ฌ๋ฆผ CONV(์ˆซ์ž, ๊ธฐ์กด ์ง„์ˆ˜, ๋ฐ”๊ฟ€ ์ง„์ˆ˜) : ๊ธฐ์กด ์ง„์ˆ˜์—์„œ ๋‹ค๋ฅธ ์ง„์ˆ˜๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” ํ•จ์ˆ˜ SELECT ABS(-100); SELECT CEILING(4.7), FLOOR(4.7), ROUND(4.7); SELECT CONV('AA',16,2), CONV(100,10,8); -- 16์ง„์ˆ˜ AA๋ฅผ 2์ง„์ˆ˜๋กœ ๋ณ€๊ฒฝ, 10์ง„์ˆ˜์˜ 100์„ 8์ง„์ˆ˜๋กœ ๋ณ€๊ฒฝ MOD(์ˆซ์ž1, ์ˆซ์ž2), ์ˆซ์ž1 % ์ˆซ์ž2 : ์ˆซ์ž1์„ ์ˆซ์ž2๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€ ๋ฐ˜ํ™˜ POW(์ˆซ์ž1, ์ˆซ์ž2) : ์ˆซ์ž1์„ ์ˆซ์ž2๋งŒํผ ๊ฑฐ๋“ญ์ œ๊ณฑํ•œ ๊ฐ’ ๋ฐ˜ํ™˜ SQRT(์ˆซ์ž) : ์ˆซ์ž์˜ ์ œ๊ณฑ๊ทผ ๋ฐ˜ํ™˜ select mod(228, 10), 228%10, ..

DB(Database)/MySQL 2021.02.06
728x90