mysql ์ธ๋ค์ผํ ๋ฆฌ์คํธํ 1/13 ๊ธ 1. dbeaver Java Heap Space Error ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ์ผ๋ก ๋ฐ์ดํฐ ๋ด๋ณด๋ด๊ธฐ ์งํ ์ ์๋ฌ๊ฐ ๋ธ ํด๊ฒฐ ์ํด fetch size 1๋ง์์ 5000์ผ๋ก ์ค์ด๊ณ , dbeaver.ini์์ ์ต๋ ์ฌ์ฉ ๋ฉ๋ชจ๋ฆฌ ์ฉ๋(Xmx4096m - 4GB)์ ๋๋ฆผ 2. dbeaver ํ ์ด๋ธ ๋ด๋ณด๋ด๊ธฐ_์ปฌ๋ผ ์ ์ธ 3. MySQL ๋ก๊ทธ ์ญ์ MySQL Console๋ก ์ ์ ํ use mysql; -- mysql schema ์ฌ์ฉ show binary logs; -- DB ์๋ฒ๋ด๋ถ ๋ก๊ทธํ์ธ purge binary logs before date(now() - interval 1 day); -- DB ์๋ฒ๋ด๋ถ์ 1์ผ๋ณด๋ค ์ค๋๋ ๋ก๊ทธ ์ญ์ -- ์์ ์์๋ ๊ธฐํ์ 1์ผ๋ก ์ฃผ์์ง๋ง day ๋์ second, minute, ho.. ๋๋ณด๊ธฐ 3/17 ๋ชฉ ๋ชฉ์์ผ! ์ค๋์ ์ธ๋ถ resource๋ฅผ ์ด์ฉํด์ DataFrame์ ์์ฑํ๋ ๊ฒ์ ๋ฐฐ์ด๋ค. ์ฒซ ๋ฒ์งธ ๋ฐฉ๋ฒ์ CSV ํ์ผ ์ฌ์ฉ, ๋ ๋ฒ์งธ๋ MySQL ์์ DB๋ก๋ถํฐ SQL ์ด์ฉํด DataFrame์ ์์ฑ - SQL ์ง์ or ORM ๋ฐฉ์(Django) Jupyter Notebook๊ณผ MySQL ์ฐ๋์ํค๊ธฐ ์ํด Anaconda Prompt๋ก ์ธ๋ถ ๋ชจ๋ ์ค์น conda activate machine conda install pymysql 1. MySQL์ ์๋ก์ด schema ์์ฑ ํ ๋ฉ๋ด์์ Open SQL Script๋ก DB ์ด๊ธฐ ์๋ก์ด Query Tab ์ด๋ฆฌ๋ฉด ๋ฒ๊ฐ ๋๋ฌ์ฃผ๊ณ , ์์ ์๋ DB ํ์ธ create database lecture_0317; use lecture_0317; select * fro.. ๋๋ณด๊ธฐ 2/16 ์ ์์์ผ! ์ค๋์ Django๋ก ๊ฒ์ํ์ ๋ง๋ ๋ค. 1. ๋ฃจํธ ๋ํ ํฐ๋ฆฌ ๋ฐ๋ก ๋ฐ์ ํ ํ๋ฆฟ์ ๋ชจ์ ์ ์ฅํ ๋ํ ํฐ๋ฆฌ๋ฅผ ๋ง๋ค๊ณ , settings.py ํ์ผ์์ os ๋ชจ๋(๊ฒฝ๋ก์ ํ์ผ๋ช ์ ํฉ์นจ)์ import ํ ํ์ ํ ํ๋ฆฟ ๋ํ ํฐ๋ฆฌ๋ฅผ ์ฐ๊ฒฐํจ os.path.join(๊ฒฝ๋ก, 'ํ์ผ๋ช ') → C:/python-django/LectureSampleProject_0216/template ํ์ผ๋ค 2. Static files(CSS, JS, images)์ client์ request URL์์ ๋์ค๋ ํํ์ด๋ฏ๋ก, ๋ฃจํธ ๋๋ ํฐ๋ฆฌ ๋ฐ๋ก ๋ฐ์ static ๋๋ ํฐ๋ฆฌ๋ฅผ ๋ง๋ค๊ณ settings.py ํ์ผ์์ static ๋ํ ํฐ๋ฆฌ๋ฅผ ์ฐ๊ฒฐํจ ๋ฃจํธ ๋๋ ํฐ๋ฆฌ ๋ฐ๋ก ๋ฐ์ media ๋๋ ํฐ๋ฆฌ๋ฅผ ๋ง๋ค๊ณ Media ํ์ผ(client๊ฐ server์.. ๋๋ณด๊ธฐ 2/15 ํ ํ์์ผ! PyCharm์ผ๋ก ์ง๋๋ฒ์ ํ๋ Project(MyFirstWeb_0215) ์์ฑ, Django ์ค์น ๋ฐ MySQL ์ฐ๋์ ๋๊ฐ์ด ์งํํ๋ค. 1. ์ค๋์ templates ํด๋ ์์ ์ถ๊ฐ๋ก polls ํด๋๋ฅผ ๋ง๋ค๊ณ index.html ํ์ผ์ ์์ฑํด์ค 2. HttpResponse ์์ ์ง๋ฌธ์ ํด๋ฆญํ๋ฉด question.id๊ฐ ์ฐ๊ฒฐ๋๋๋ก link ์์ฑ ์ง์ ํ๊ธฐ 3. urls.py(polls URLConf) ํ์ผ์์ question_id์ ๋ํ URLConf์ ๊ฒฝ๋ก๋ฅผ ์ค์ ํด์ผ ํจ 4. polls App์ ํด๋น๋๋ URL๋ก ์ง์ (request)ํ๋ฉด view๋ก detailํจ์๊ฐ ํธ์ถ๋๋ฏ๋ก ์ด๋ฅผ ์ ์ํด์ผ ํจ 5. templates/polls ํด๋ ์์ detail๋ผ๋ HTML ํ์ผ์ ๋ง๋ค์ด์ค 6. polls.. ๋๋ณด๊ธฐ 2/14 ์ ์์์ผ! ๐ฑ๐ ์ง๋ ๊ธ์์ผ์ ์ด์ด PyCharm๊ณผ MySQL์ ์ด์ฉํด Django๋ฅผ ๋ฐฐ์ด๋ค! PyCharm์ผ๋ก ์ง๋๋ฒ์ ํ๋ Project(MyFirstWeb_0214) ์์ฑ, Django ์ค์น ๋ฐ MySQL ์ฐ๋์ ๋๊ฐ์ด ์งํํ๋ค. 1. MySQL๋ก DB Table์ ๋ง๋๋ ๊ฒ์ด ์๋, PyCharm์์ Python ๋ชจ๋ ์ค models๋ฅผ ๋ถ๋ฌ์์ class๋ฅผ ๋ง๋ฆ polls ํด๋์ models.py ํ์ผ ์์ class๋ก DB Table ๋ช ์ธ๋ฅผ ์ค์ ํจ. model class๋ฅผ ๋ง๋ค ๋๋ ๋ฐ๋์ model.Model์ ์์ํด์ผ ํจ. PK(Primary Key)๊ฐ ์๋์ผ๋ก ํ๋ ์ค์ ๋จ from django.db import models class Question(models.Model): # id = .. ๋๋ณด๊ธฐ 1/28 ๊ธ ์ค ์ฐํด๋ฅผ ์๋ ๊ธ์์ผ!! JOIN : ๋ ๊ฐ ์ด์์ ํ ์ด๋ธ์ ์๋ก ๋ฌถ์ด์ ํ๋์ ๊ฒฐ๊ณผ ์งํฉ์ผ๋ก ๋ง๋ค์ด ๋ด๋ ๊ฒ INNER JOIN : ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ์กฐ์ธ. ์์ชฝ ํ ์ด๋ธ์ ๋ชจ๋ ๋ด์ฉ์ด ์๋ ๊ฒ๋ง ์กฐ์ธ๋จ USE sqldb; SELECT * FROM UserTBL; SELECT * FROM buyTBL; SELECT * -- INNER JOIN FROM buyTBL INNER JOIN userTBL ON buyTBL.userID = userTBL.userID WHERE buyTBL.userID = 'JYP'; SELECT * FROM buyTBL INNER JOIN userTBL ON buyTBL.userID = userTBL.userID WHERE productName = '์ด๋ํ'; SELECT B.. ๋๋ณด๊ธฐ 1/27 ๋ชฉ ๋ชฉ์์ผ~~ WHERE ์กฐ๊ฑด์์ ์ฌ์ฉํ๋ AND·OR·BETWEEN·IN·LIKE ์ฐ์ฐ์ ํจํด ๋งค์นญ : ์์ผ๋์นด๋๋ฅผ ์ด์ฉํด์ ํน์ ํจํด๋ง ์กฐํ. '%'๋ 0๊ฐ ์ด์์ ๊ธ์, '_'๋ 1๊ฐ์ ๊ธ์๋ฅผ ์๋ฏธํจ USE sqldb; -- sqldb schema ์ง์ SELECT * FROM userTBL; SELECT * FROM userTBL WHERE userName = '๊น๊ฒฝํธ'; -- WHERE ์กฐ๊ฑด SELECT userID, userName FROM userTBL WHERE (birthYear >= 1970) AND (userHeight >= 182); SELECT userID, userName FROM userTBL WHERE (birthYear >= 1970) OR (userHeight >= 182);.. ๋๋ณด๊ธฐ 1/26 ์ ์์์ผ~~ SQL์ ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ณํ์ง ์์ง๋ง, ๊ด์ฉ์ ์ผ๋ก keyword๋ ๋๋ฌธ์ / ์๋ณ์(์ฌ์ฉ์ ์ ์ ๋ณ์·ํจ์·ํ ์ด๋ธ·์ธ๋ฑ์ค·๋ทฐ ์ด๋ฆ)๋ ์๋ฌธ์๋ฅผ ์ด์ฉ View : ์ค์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์์ง ์์ ๊ฐ์์ ํ ์ด๋ธ, ์ง์ง ํ ์ด๋ธ์ ๋งํฌ๋ ๊ฐ๋ , ๋ทฐ๋ฅผ SELECT ํ๋ฉด ํ ์ด๋ธ์ ํ ์ดํฐ๋ฅผ ์กฐํํ๋ ๊ฒ๊ณผ ๋์ผํ ๊ฒฐ๊ณผ CREATE VIEW shopdb.v_memberTBL -- View ์์ฑ AS SELECT memberName, memberAddr FROM shopdb.membertbl; -- ๋งํฌํ ํ ์ด๋ธ ์ง์ SELECT * FROM shopdb.v_memberTBL; -- View ์์ฑ ์ ์ ๋ ฅํ SELECT๋ฌธ ์คํ DROP DATABASE shopdb; -- schema ๋ฐฑ์ ํ ์ญ์ ๋ฐฑ์ ๋ณต์ ๋ฐ์ด.. ๋๋ณด๊ธฐ ์ด์ 1 2 ๋ค์