728x90

mysql 11

[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

[MySQL] ๋‚ด์žฅํ•จ์ˆ˜ - ๋ฌธ์ž์—ด ํ•จ์ˆ˜

ASCII(์•„์Šคํ‚ค์ฝ”๋“œ), CHAR(์ˆซ์ž) SELECT ASCII('A'), CHAR(65); --> 65, A๋ฐ˜ํ™˜ BIT_LENGTH, CHAR_LENGHT, LENGTH BIT_LENGTH(): ํ• ๋‹น๋œ ๋น„ํŠธํฌ๊ธฐ ๋ฐ˜ํ™˜ CHAR_LENGTH(): ๋ฌธ์ž ๊ฐœ์ˆ˜ ๋ฐ˜ํ™˜ LENGTH(): ํ• ๋‹น๋œ ๋ฐ”์ดํŠธ ์ˆ˜ ๋ฐ˜ํ™˜ ์˜๋ฌธ: ๋ฌธ์ž๋‹น 1๋ฐ”์ดํŠธ, ํ•œ๊ธ€: ๋ฌธ์ž๋‹น 3๋ฐ”์ดํŠธ SELECT BIT_LENGTH('ABC'), CHAR_LENGTH('ABC), LENGTH('ABC); --24, 3, 3๋ฐ˜ํ™˜ SELECT BIT_LENGTH('๊ฐ€๋‚˜๋‹ค'), CHAR_LENGTH('๊ฐ€๋‚˜๋‹ค'), LENGTH('๊ฐ€๋‚˜๋‹ค'); -- 72, 3, 9 ๋ฐ˜ํ™˜ CONCAT(๋ฌธ์ž์—ด1, ๋ฌธ์ž์—ด2, ...), CONCAT_WS(๋ฌธ์ž์—ด1, ๋ฌธ์ž์—ด2, ...) CO..

DB(Database)/MySQL 2021.01.20
728x90