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

728x90

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 ๋ฐฑ์—… ํ›„ ์‚ญ์ œ ๋ฐฑ์—… ๋ณต์› ๋ฐ์ด.. ๋”๋ณด๊ธฐ

728x90