๐ฟ Data/์ด๋ชจ์ ๋ชจ
[๋ฅ๋ฌ๋]์ญ์ ํ ์๊ณ ๋ฆฌ์ฆ
์ญ์ ํ ์๊ณ ๋ฆฌ์ฆ ์ ํฌ๊ฐ ์ฐจ๋ฅผ ๊ตฌ๋งคํ๊ฒ ๋๋ฉด, ์ ๋นํ ์ธํ ํ ์ฐจ๋์ ์ด์ ํ๊ฒ ๋ฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ํธ ๋์ด, ํธ๋ค๊ณผ์ ๊ฑฐ๋ฆฌ, ๋ฐฑ๋ฏธ๋ฌ ์์น, ์ฌ์ด๋ ๋ฏธ๋ฌ ์์น ๋ฑ์ ์กฐ์ ํ๊ฒ ๋ฉ๋๋ค. ์ฒ์๋ถํฐ ๋ณธ์ธ์๊ฒ ์ต์ ํ ๋ ์ธํ ์ ํ๋ฒ์ ์ด๋ฃจ์ด์ง ์ ์๊ธฐ์, ์๊ฐ์ด ํ๋ฅด๋ฉฐ ์ด์ ์ ์งํํ ์๋ก ๋์๊ฒ ๋ง๊ฒ ์กฐ๊ธ์ฉ ์ธํ ์ ์์ ๋ฐ๋ณตํ๊ฒ ๋ฉ๋๋ค. ์์ ํ : ์ ๋นํ ์ธํ ์ ํตํด ์ด์ ํ๋ ํ์ ์์ค ๊ณ์ฐ : '์ด ์ธํ ์ ์กฐ๊ธ ๋ถํธํ๋ฐ? ์ผ๋ง๋ ์กฐ์ ํ ๊น?' ํ๋ ์๊ฐ ์ญ์ ํ : ๋ถํธํ ์ธํ ์ ๋ํด์ ์กฐ๊ธ์ฉ ์กฐ์ ํ๋ ํ์ ์ถ๊ฐ) ์ธํ ์ ์กฐ์ ํ ๋(์์ ๋์ด๋ฅผ ์กฐ์ ํ๋ค ํ ๋), ํ๋ฒ์ 10cm๋ฅผ ๋ฎ์ถ๋ ๊ฒฝ์ฐ๋ ์๊ณ ์์ฃผ ์กฐ๊ธ์ฉ 1cm์ฉ ๋ฎ์ถ๋ ๊ฒฝ์ฐ๊ฐ ์๋ฏ์ด ์ธํ ์ ์กฐ์ ํ๋ ๋ฐฉ๋ฒ์ ๋ค์ํฉ๋๋ค. ์ด๋ฐ ์ธํ ์ ์กฐ์ ํ๋ ๋ฐฉ๋ฒ์ด ์ตํฐ๋ง์ด์ ์..
[๋ฅ๋ฌ๋]ํผ์ ํธ๋ก , ์ ๋ ฅ์ธต/์๋์ธต/์ถ๋ ฅ์ธต, ํ์ฑํ ํจ์ ๊ฐ๋ ์ ๋ฆฌ
1. ํผ์ ํธ๋ก ํผ์ ํธ๋ก ์ด๋ ๋ฌด์์ผ๊น์? ํผ์ ํธ๋ก ์ด๋ '์ ๊ฒฝ๋ง์ ์ด๋ฃจ๋ ๊ฐ์ฅ ๊ธฐ๋ณธ ๋จ์'์ ๋๋ค. ์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด, ์ฌ๋์ ๋์์ ์ ๋ณด๋ฅผ ์ฒ๋ฆฌํ๋ ์ ๊ฒฝ ์ธํฌ์ธ ๋ด๋ฐ์ ๋ณธ๋ด ๊ตฌ์กฐ๋ผ๊ณ ์๊ฐํ์๋ฉด ํธํฉ๋๋ค. ์ฐ๋ฆฌ์ ๋๊ฐ ์๊ฐ, ์ฒญ๊ฐ, ํ๊ฐ, ์ด๊ฐ ๋ฑ ๋ค์ํ ๊ฐ๊ฐ์ ํตํด ์ ๋ณด๋ฅผ ์ ๋ ฅ ๋ฐ์ผ๋ฉด ๊ทธ์ ๋ํ ์ด๋ ํ ์ฒ๋ฆฌ๋ฅผ ๊ฑฐ์ณ ๊ฒฐ๊ณผ์ ์ผ๋ก ์ฐ๋ฆฌ๋ ์ด๋ค ํ๋์ ํ๊ฒ ๋ฉ๋๋ค. 2. ์ ๋ ฅ์ธต, ์๋์ธต, ์ถ๋ ฅ์ธต ๋ด๋ฐ ์์๋ฅผ ๋น๋์ด ์์ ๊ฐ์ด ์ฐ๋ฆฌ๊ฐ ๊ณ ์๋๋ก๋ฅผ ๋๊ฐ ๋, ํจ๊ฒ์ดํธ์์ ์ ์ฐํ๊ณ ๋๊ฐ๋ ๊ณผ์ ์ ์๊ฐํด๋ณผ ์ ์์ต๋๋ค. ์ด ๋, ํ๋์ ์์ญ์ด ์ ๋ ฅ์ธต, ํจ๊ฒ์ดํธ(๊ณ์ฐ๋)๊ฐ ์๋์ธต, ๋นจ๊ฐ์ ์์ญ์ด ์ถ๋ ฅ์ธต์ด๋ผ๊ณ ์๊ฐํด๋ณด๊ฒ ์ต๋๋ค. ๋จผ์ , ๊ณ ์๋๋ก(์ ๋ ฅ์ธต)์ ์๋ ์ฐจ๋์ ๊ทธ ์ข ๋ฅ๊ฐ ๊ต์ฅํ ๋ค์ํ๊ณ ์ผ๋ง๋งํผ์ ๊ฑฐ๋ฆฌ๋ฅผ ์๋์ง๋ ์ ๊ฐ๊ฐ์ ๋..
MySQL_WITH RECURSIVE(์ฌ๊ท ์ฟผ๋ฆฌ)
WITH RECURSIVE(MysQL 5.8์ด์ ์ง์) ๋ฉ๋ชจ๋ฆฌ ์์ ๊ฐ์์ ํ ์ด๋ธ์ ์ ์ฅ ์ค์ ๋ก ํ ์ด๋ธ์ ์์ฑํ๊ฑฐ๋ ๋ฐ์ดํฐ ์ฝ์ (INSERT)์ ํ์ง ์์๋ ๊ฐ์์ ํ ์ด๋ธ์ ๋ง๋ค ์ ์๋ค.(์ฌ๊ท ์ฟผ๋ฆฌ ์ด์ฉ) WITH RECURSIVE ํ ์ด๋ธ๋ช AS( SELECT ์ด๊ธฐ๊ฐ AS ์ปฌ๋ผ๋ช UNION ALL SELECT ์ปฌ๋ผ ๊ณ์ฐ์ FROM ํ ์ด๋ธ๋ช WHERE ์ ์ฝ์กฐ๊ฑด ) ์์ WITH RECURSIVE cte AS( SELECT 0 AS h UNION ALL SELECT h + 1 FROM cte WHERE h < 23 ) SELECT * FROM CTE ์๋์ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ ๋์ต๋๋ค. (23๊น์ง ์ถ๋ ฅ) ์ด๋ ๊ฒ ์ฌ๊ท ์ฟผ๋ฆฌ๋ฅผ ํ์ฉํ๋ ์ด์ ๋ ์๋ฅผ ๋ค์ด, ๊ฐ๊ณ ์๋ ํ ์ด๋ธ์๋ 7์๋ถํฐ 21์๊น์ง์ ๋ฐ์ดํฐ๋ง ์กด์ฌํ ๋..
MySQL_IF, IFNULL - ์กฐ๊ฑด๋์ฒด
IF ์กฐ๊ฑด์ ํด๋นํ๋ฉด ๋์ฒด SELECT IF(์กฐ๊ฑด, ์ฐธ, ๊ฑฐ์ง) FROM ํ ์ด๋ธ์ด๋ฆ ; SELECT IF(ANIMAL_TYPE='Cat', '๊ณ ์์ด', '๊ฐ์์ง') FROM ANIMAL_INS ; # ํ๋ก๊ทธ๋๋จธ์ค ๋ฌธ์ ์์์ ์์ ์ฆ, ANIMAL_TYPE ์ปฌ๋ผ์ ๊ฐ์ด 'Cat'์ธ ๊ฒฝ์ฐ '๊ณ ์์ด'๋ก ๋์ฒดํ๊ณ ์๋ ๊ฒฝ์ฐ '๊ฐ์์ง'๋ก ๋์ฒดํ๋ค. IFNULL ๊ฐ์ด NULL์ธ ๊ฒฝ์ฐ ๋์ฒด SELECT IFNULL(์ปฌ๋ผ๋ช , ๋์ฒด๊ฐ) FROM ํ ์ด๋ธ์ด๋ฆ ; SELECT IFNULL(ANIMAL_TYPE, 'No name') FROM ANIMAL_INS ; # ํ๋ก๊ทธ๋๋จธ์ค ๋ฌธ์ ์์์ ์์ ์ฆ, ANIMAL_TYPE ์ปฌ๋ผ์ ๊ฐ์ด NULL ์ธ ๊ฒฝ์ฐ 'No name'์ผ๋ก ๋์ฒดํ๋ค. ์ฐธ๊ณ :ํ๋ก๊ทธ๋๋จธ์ค ์ฐธ๊ณ :์กฐ๊ฑด๋์ฒด
if __name__ == '__main__' : ์ ๊ฐ๋
if __name__ == '__main__' : def ### ์ฝ๋ ์ฌ์ฉ ์ด์ : ํ์ฌ ์คํฌ๋ฆฝํธ ํ์ผ์ด ์คํ๋๋ ์ํ๋ฅผ ํ์ ํ๊ธฐ ์ํด ์ฌ์ฉ __ name __ ์ด๋? hello.py ๋ ์ด๋ฆ์ ํ์ผ print('hello ๋ชจ๋ ์์') print('hello.py __name__:', __name__) # __name__ ๋ณ์ ์ถ๋ ฅ print('hello ๋ชจ๋ ๋') bye.py๋ ์ด๋ฆ์ ํ์ผ import hello # hello ๋ชจ๋์ ๊ฐ์ ธ์ด print('bye.py __name__:', __name__) # __name__ ๋ณ์ ์ถ๋ ฅ ์์ ๊ฐ์ด hello.py์ bye.py๋ ์ด๋ฆ์ ํ์ผ์ด ์์ ๋, bye.py๋ฅผ ์คํํ๋ฉด ์๋์ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ ์ถ๋ ฅ๋ฉ๋๋ค. hello ๋ชจ๋ ์์ hello.py __n..