python에서 SqLite사용하기

2018. 4. 15. 19:40Python-이론/python

python에서 SqLite사용하기



sqLite는 다른 DB와 달리 가볍다는 특징이 있습니다. 그리고 웹브라우저 안드로이드 곳곳에서 사용됩니다. 그럼 우선 데이터 베이스에 써보겠습니다.



import sqlite3

#따로 파일은 안만들어 줘도 됩니다. 자동 생성
dbpath = "test.sqlite"
conn = sqlite3.connect(dbpath)

cur = conn.cursor()

#여러 줄 실행 가능
cur.executescript("""
/*fruits테이블 있다면 삭제*/
DROP TABLE IF EXISTS fruits;

/*PRIMARY KEY 중복 안되고 NULL값이면 안된다 */
/*UNIQUE 중복 안되고 NULL 값 허용한다. */
CREATE TABLE fruits(id INTEGER PRIMARY KEY,
 name STRING UNIQUE,
 PRICE INTEGER);

INSERT INTO fruits(name,price) VALUES("오렌지",3000);
INSERT INTO fruits(name,price) VALUES("사과",5000);
INSERT INTO fruits(name,price) VALUES("바나나",7000);


""")
#코드 실행
conn.commit()
cur = conn.cursor()
# 찾기
cur.execute("SELECT id, name, price  FROM fruits;")
item_list = cur.fetchall()
for item in item_list:
    print(item)



import sqlite3

filename = "test2.sqlite"
conn = sqlite3.connect(filename)

cur = conn.cursor()
cur.execute("DROP TABLE IF EXISTS fruits")
cur.execute("CREATE TABLE fruits (id INTEGER PRIMARY KEY, name STRING UNIQUE, price INTEGER)")

data = [("오렌지",5000),("망고",4000),("사과",2000),("복숭아",1000),("애플망고",5000)]
#인자는 ?로 받는다.
cur.executemany("INSERT INTO fruits(name,price) VALUES(?,?)",data)

conn.commit()
cur = conn.cursor()
priceRange =(4000,6000)
#조건식 부여
cur.execute("SELECT * FROM fruits WHERE price > ? AND price