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 test_table (name, age) VALUES ('spongebob', 12);")
# ๋ ์ฝ๋ ์ถ๊ฐ ๋ฐฉ๋ฒ(2)
name = 'banana'
age = 13
cur.execute("INSERT INTO test_table (name, age) VALUES (?, ?)",(name,age))
# ๋ ์ฝ๋ ์ถ๊ฐ ๋ฐฉ๋ฒ(3) -> ์ด ํํ ์ ๊ธฐ์ตํ๊ธฐ
users = [('lemon', 10),
('apple', 15)]
for user in users:
cur.execute("INSERT INTO test_table (name, age) VALUES (?, ?);", user)
conn.commit()
# ๋งค์ฐ๋งค์ฐ ์ค์! ์์ ๋ช
๋ น๋ค(ํธ๋์ญ์
)์ DB์ ๋๊ฒจ์ฃผ๋ ํจ์
# ์ปค๋ฐ์ ํ์ง ์๋๋ค๋ฉด DB์์ ๋ณด์ด์ง ์์ต๋๋ค.
# connect ๊ฐ์ฒด์์ ์จ ๊ฒ ๋ค์ ํ๋ฒ ๊ธฐ์ต
cur.close()
conn.close()
# ์ด ์ฐ๊ฒฐ๊ณผ ์ปค์์ ๋ํ ๊ณผ์ ์ ์ข
๋ฃํด์ฃผ๋ ๊ฒ
๋ฐ์ดํฐ ์กฐํ
cur.execute("SELECT * FROM test_table;")
# ์ด๋ ๊ฒ๋ง ํด์๋ ๋ฐ์ดํฐ๊ฐ ๋ณด์ด์ง ์์ต๋๋ค.
# <sqlite3.Cursor object at 0x7fb026aacb20> ์ด์ ๊ฐ์ cursor์ ๊ด๋ จ๋ ๊ฐ์ฒด๋ง ๋ฆฌํด๋ฉ๋๋ค.
cur.fetchone() # ํ๋์ฉ ์กฐํ
cur.fetchmany(n) # n๊ฐ ์กฐํ
cur.fetchall() # ์ ๋ถ ์กฐํ
# ์ฃผ์
print(cur.fetchone()) # print ๋ฅผ ํด์ค์ผ ๊ฐ์ด ์ถ๋ ฅ๋จ
์ถ๊ฐ) ์๋์ ๊ฐ์ด sqlite๋ ๋ฉ๋ชจ๋ฆฌ์์๋ ์คํ ๊ฐ๋ฅํฉ๋๋ค.
import sqlite3
conn = sqlite3.connect(':memory:')
์ถ๊ฐ) PostgreSQL ์ฌ์ฉ
- ์ฐ๊ฒฐํ Postgre์ ์๋ฒ๋ ํด๋ผ์ฐ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์์ฑํ elephantDB๋ฅผ ๋์
๊ฐ์ฅ ๋จผ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ง๋ ํ์ด์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์น
Postgre์ ๊ฒฝ์ฐ psycopg2
๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ด์ฉ
import psycopg2
conn = psycopg2.connect(
host="์๋ฒ ํธ์คํธ ์ฃผ์",
database="๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๋ฆ",
user="์ ์ ์ด๋ฆ",
password="์ ์ ๋น๋ฐ๋ฒํธ")
์์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒ์
Elephantsql ์ด์ฉ
์๋น์ค๋ ์ ํ์ ์ด์ง๋ง ๋ฌด๋ฃ๋ก ํด๋ผ์ฐ๋ postgres ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ๊ณต!
'๐ฟ Data > ์ด๋ชจ์ ๋ชจ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
SQL_Tips('ํผ์ ๊ณต๋ถํ๋ SQL_~Chapter3) (0) | 2022.01.25 |
---|---|
SQLite_Select_rowid (0) | 2022.01.23 |
SQL_SELECT์ ์คํ ์์ (0) | 2022.01.20 |
SQL_SQLite ์์ฃผ ์ฐ๋ ๋ฌธ๋ฒ(2) (0) | 2022.01.20 |
SQL_SQLite ์์ฃผ ์ฐ๋ ๋ฌธ๋ฒ (0) | 2022.01.20 |