*Sqlite ์ฐ๋
import sqlite3
conn = sqlite3.connect('db.sqlite', isolation_level= None)
c = conn.cursor()
ํ์ฌ ํ์ผ๊ฒฝ๋ก์ db.sqlite๋ฅผ ์์ฑํฉ๋๋ค. isolation_level = None์ผ๋ก ํ๊ฒ๋๋ฉด, ์ปค๋ฐ(commit)์ด ์๋ํ๋ฉ๋๋ค.
์ปค๋ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ด๋ จ๋ ๋ช
๋ น์ด๋ฅผ ์์๋์๋ค๊ฐ, ์คํ์ํค๋ ๋ช
๋ น์ ๋ปํฉ๋๋ค. (์ฆ, ์ปค๋ฐ์ ํ์ง ์๊ฒ๋๋ฉด ์ง์ ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์๋๋ ์ํฅ์ ์์ต๋๋ค.)
*๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐํ์
TEXT, NUMERIC , INTEGER, REAL , BLOB
blob์ ํ์ผ, integer์ ์ ์, numeric๊ณผ real์ ์ค์, text๋ ๋ฌธ์์ด์ ๋ปํฉ๋๋ค.
*ํ
์ด๋ธ ์์ฑ
5๊ฐ์ง ํญ๋ชฉ(column, ์ด)์ด ์๋, ํ
์ด๋ธ์ ์์ฑํด๋ณด๋ฉด ๋ค์์ฒ๋ผ ๊ฐ๋ฅํฉ๋๋ค.
c.execute("CREATE TABLE IF NOT EXISTS users\
(id INTEGER PRIMARY KEY, username TEXT, email TEXT, phone TEXT, regist_date TEXT)")
์ด๋ id๋ primary key๋ก ์ค์ ํ๋๋ฐ, ์ฃผ๋ก ์๋ฒ์ ๋งค๊ธฐ๋ ์ฉ๋๋ก ์ฌ์ฉํฉ๋๋ค. ๊ณ ์ ๊ฐ์ด๊ธฐ์, ์ค๋ณต๋๋ id๋ฅผ ๊ฐ์ง์๋ ์์ต๋๋ค.
์์ฑ๋ ๋ชจ์ต์ ์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ต๋๋ค. usersํ
์ด๋ธ์ 5๊ฐ์ง Column์ด ์๊ฒผ์ต๋๋ค.
*๋ฐ์ดํฐ ์ฝ์
๋ฌธ์์ด ๊ฐ์๊ฒฝ์ฐ๋ ๋ฐ๋ก ์ฝ์
์ ํ๋ฉด ๋์ง๋ง, ๋ณ์์ ์ ์ฅ๋๊ฐ๋ค์ ?๋ฅผ ์ด์ฉํด ํฌ๋งทํ
ํ๋ฏ์ด ๋ฃ์ด์ค์ผ ํฉ๋๋ค.
*์ง์ ์ฝ์
1.c.execute("INSERT INTO ํ
์ด๋ธ๋ช
VALUES (์ฝ์
ํ ๋ฐ์ดํฐ, ๋ฐ์ดํฐ,๋ฐ์ดํฐ,?)", (?์๋ํ ๋ณ์))
import datetime
now = datetime.datetime.now()
c.execute("INSERT INTO users VALUES\
(5, 'Kim', 'kim@naver.com','010-2512-1212',?)",(now,))
2.c.execute("INSERT INTO ํ
์ด๋ธ๋ช
VALUES (?,?,?,?,?)", (?์๋ํ ๋ณ์))
c.execute("INSERT INTO users(id, username, email, phone, regist_date) VALUES(?,?,?,?,?)"\
,(2,'park','Park@naver,com','010-2224-2412','park.com',now))
*Many์ฝ์
์ฌ๋ฌ๊ฐ์ ํญ๋ชฉ์ ์ฝ์
ํ ๋๋ Many๋ฅผ ์ด์ฉํฉ๋๋ค.
userList = (
(13, 'Lee','Lee@naver.com','010-2222-2222',now),
(23, 'Lee','Lee@naver.com','010-2222-2222',now),
(33, 'Lee','Lee@naver.com','010-2222-2222',now),
)
์๋ฅผ๋ค์ด ์ด๋ฐ ๋ฆฌ์คํธ๊ฐ ์์ผ๋ฉด, ์์ ๋ฐฉ๋ฒ์ผ๋ก๋ 3๋ฒ์ ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํด์ผํ์ง๋ง , many๋ฅผ ์ด์ฉํ๋ฉด ๋ฆฌ์คํธ ๋๋ ํํํํ๋ฅผ ํ๋ฒ์ ๋ฃ์ ์ ์์ต๋๋ค.
c.executemany("INSERT INTO users(id, username, email, phone, regist_date) VALUES(?,?,?,?,?)",userList)
* rollback() commit() close()
rollback : ๋กค๋ฐฑ์ ์์๋จ๋ ๋ช
๋ น์ด๋ฅผ ๋๋๋ฆฌ๋ ๊ธฐ๋ฅ์
๋๋ค. Ctrl+Z์ ๊ฐ์ ๊ธฐ๋ฅ์
๋๋ค. ์ด ๊ธ ๋งจ ์์์ ์ธ๊ธํ ์คํ ์ปค๋ฐ(isolation_level = None)์ ์ง์์ผ ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
commit : ์์๋จ๋ ๋ช
๋ น๋ค์ ์คํํฉ๋๋ค. (๋ฐ์)
close() : ์ฌ์ฉํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฐ๋์ ๋์ต๋๋ค.