Jayden`s

    [TIL]52. Python_Intensive(Debuging, Class)

    ๋””๋ฒ„๊น…(Debugging) ๋ณดํ†ต ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ์ƒํ™ฉ์€ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ–ˆ์„ ๋•Œ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•˜์ฃ : ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒ ์ฝ”๋“œ ์‹คํ–‰ ์ข…๋ฃŒ ์—๋Ÿฌ ์ˆ˜์ • ์ฝ”๋“œ๊ฐ€ ์ด์ƒ ์—†์ด ์ž‘๋™ํ•  ๋•Œ๊นŒ์ง€ 1๋ฒˆ๋ถ€ํ„ฐ 4๋ฒˆ ๋ฐ˜๋ณต ๊ทธ๋ ‡๋‹ค๋ฉด ์ฝ”๋“œ ์‹คํ–‰์„ ์ข…๋ฃŒํ•˜์ง€ ์•Š๊ณ  ์ž ์‹œ ์‹œ๊ฐ„์„ ๋ฉˆ์ถ”๋“ฏ ๋ฉˆ์ถ”๊ฒŒ ํ•  ์ˆ˜ ์—†์„๊นŒ์š”? ์ด ๋•Œ ๋“ฑ์žฅํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ ๋””๋ฒ„๊น… python 3.7 ์ด์ „ ๋ฒ„์ „ import pdb pdb.set_trace() python 3.7 ์ด์ƒ ๋ฒ„์ „ sum = 0 breakpoint() # print ํ•˜๊ธฐ ์ง์ „์˜ ์‹œ์ ์—์„œ ๋ฉˆ์ถฅ๋‹ˆ๋‹ค. print(sum) ์œ„์™€ ๊ฐ™์ด ๋ฉˆ์ถ˜ ์ƒํƒœ์—์„œ ํŠน์ • ๋‹จ๊ณ„๋ฅผ ๊ฒ€ํ† ํ•˜๋Š” ๋“ฑ์˜ ๋‹ค์–‘ํ•œ ์ž‘์—…์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. breakpoint()๋ฅผ ์ž˜ ํ™œ์šฉํ•˜๋ฉด ๊ต‰์žฅํžˆ ํŽธ๋ฆฌ! ์ถ”๊ฐ€ class ์—์„œ์˜ br..

    SQL_Tips('ํ˜ผ์ž ๊ณต๋ถ€ํ•˜๋Š” SQL_~Chapter3)

    ์ธ๋ฑ์Šค ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•  ๋•Œ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ค๋Š” ์†๋„๋ฅผ ํš๊ธฐ์ ์œผ๋กœ ๋น ๋ฅด๊ฒŒ ํ•ด์คŒ ๋ทฐ ๊ฐ€์ƒ์˜ ํ…Œ์ด๋ธ”๋กœ ๋ณด์•ˆ์— ๋„์›€์ด ๋˜๊ณ  ๊ธด SQL๋ฌธ์„ ๊ฐ„๋Ÿ‰ํ•˜๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Œ ์Šคํ† ์–ด๋“œ ํ”„๋กœ์‹œ์ € SQL ๋‚ด์—์„œ๋„ ์ผ๋ฐ˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ฒ˜๋Ÿผ ์ฝ”๋”ฉ์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ(ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋กœ์ง์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ) ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ SELECT ๊ตฌ์ถ•์ด ์™„๋ฃŒ๋œ ํ…Œ์ด๋ธ”์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•˜๋Š” ๊ธฐ๋Šฅ, ์ฆ‰ ์•„๋ฌด๋ฆฌ ๋งŽ์ด ์‚ฌ์šฉํ•ด๋„ ๊ธฐ์กด ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝ์‹œํ‚ค์ง€ ์•Š์Œ AUTO_INCREMENT ์ž๋™์œผ๋กœ ์ˆซ์ž๊ฐ€ ์ฆ๊ฐ€ํ•˜๊ฒŒ ๋˜๋Š” ๊ธฐ๋Šฅ ๋ณดํ†ต CREATE TABLE ์—์„œ ํŠน์ • ์ปฌ๋Ÿผ(์ฃผ๋กœ primary key)์— ์กฐ๊ฑด์œผ๋กœ ๋„ฃ๋Š”๋‹ค. ์ดํ›„ INSERT INTO ํ•  ๋•Œ, AUTO_INCREMENT๊ฐ€ ๋“ค์–ด๊ฐ„ ์ปฌ๋Ÿผ์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’์€ NULL์„ ๋„ฃ์œผ๋ฉด ์•Œ์•„์„œ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆซ์ž๋กœ ๋ฐ˜์˜๋จ ๋˜ํ•œ, ์‹œ์ž‘ํ•˜๋Š” ์ˆซ์ž(๊ธฐ๋ณธ์ ..

    [TIL]51. Section3_sprint1_challenge

    challenge์—์„œ ๊ธฐ์–ตํ•˜๋ฉด ์ข‹์„ ๋ถ€๋ถ„๋“ค ์œ„์ฃผ์˜ ์˜ˆ์‹œ๋กœ ์ž‘์„ฑํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. CREATE TABLE CREATE TABLE 'ํ…Œ์ด๋ธ”๋ช…' (id INTEGER, user_id INTEGER, product_id INTEGER, PRIMARY KEY(id), FOREIGN KEY(user_id) REFERENCES User(id), FOREIGN KEY(product_id) REFERENCES Product(id)); -- foreign key๋Š” references ์™€ ๊ผญ ๊ฐ™์ด! ๋‚ ์งœ ๋ฐ์ดํ„ฐ ๊ณ„์‚ฐ SELECT AVG(STRFTIME('%Y', 'Date ํƒ€์ž„ ํ˜•ํƒœ ์ปฌ๋Ÿผ') - STRFTIME('%Y', 'Date ํƒ€์ž„ ํ˜•ํƒœ ์ปฌ๋Ÿผ')) FRO..

    SQLite_Select_rowid

    Q. ' SELECT * ' ๊ณผ ' SELECT rowid ' ์˜ ์ถœ๋ ฅ๋˜๋Š” ์ˆœ์„œ ์ฐจ์ด 1. SELECT * SELECT * FROM customers AS c 2. SELECT rowid (customerId == rowid) SELECT customerId FROM customers AS c ์ฆ‰, 1๊ณผ 2์—์„œ SELECT์— ๋”ฐ๋ผ ์ถœ๋ ฅ๋˜๋Š” rowid์˜ ์ˆœ์„œ๊ฐ€ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค. SELECT FirstName (rowid๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ์นผ๋Ÿผ ํ•˜๋‚˜๋งŒ SELECT) SELECT FirstName FROM customers AS c 1๋ฒˆ๊ณผ ๋น„๊ตํ–ˆ์„ ๋•Œ, rowid ์—†์ด ๋‹จ์ผ ํŠน์„ฑ๋งŒ SELECT ํ•ด๋„ ORDER BY rowid ๊ฐ€ ๋ฐ˜์˜๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 4. SELECT Suppo..

    SQLite_sqlite3, PostgreSQL_psycopg2

    Python์—์„œ sqlite3๋ฅผ ์ด์šฉํ•ด SQLite ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ ๋ฐ ํ™œ์šฉ๋ฒ• ์—ฐ๊ฒฐ ๋ฐ ์ปค์„œ, ํ…Œ์ด๋ธ” ๋งŒ๋“ค๊ธฐ, ๊ฐ’ ๋„ฃ๊ธฐ, ์ปค๋ฐ‹ ๊ณผ์ • import sqlite3 conn = sqlite3.connect('DB์ด๋ฆ„.db') # ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํŒŒ์ผ์ด ์žˆ์œผ๋ฉด ๊ทธ ํŒŒ์ผ๊ณผ ์—ฐ๊ฒฐํ•˜๊ณ , ์—†์œผ๋ฉด ์œ„์—์„œ ์ •ํ•œ ์ด๋ฆ„์œผ๋กœ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค. cur = conn.cursor() # connect ๊ฐ์ฒด์— ์žˆ๋Š” cursor ๊ฐ์ฒด๋ฅผ ์ง€์ •ํ•ด์ค๋‹ˆ๋‹ค. cur.execute("""CREATE TABLE test_table ( name VARCHAR(32), age INT); """) # cursor๋ฅผ ํ†ตํ•ด excute(์‹คํ–‰)์œผ๋กœ ์ฟผ๋ฆฌ๋ฌธ์„ ๋„˜๊ฒจ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. # ๋ ˆ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐฉ๋ฒ•(1) cur.execute("INSERT INTO..