SQLite簡介
SQLite 是一個軟件庫,實現了自給自足的、無服務器的、零配置的、事務性的 SQL 數據庫引擎。SQLite 是在世界上最廣泛部署的 SQL 數據庫引擎。SQLite 源代碼不受版權限制。SQLite是輕量級數據庫,在Andorid和iOS設備上廣泛使用。
Python的SQLite
Python自帶SQLite數據庫,無需額外安裝,使用SQLite數據庫需要導入
sqlite3
模塊
import sqlite3
create
import sqlite3
conn = sqlite3.connect("test.db")
cur = conn.cursor()
cur.execute("create table test(name text,age int,gender text)")
conn.commit()
cur.close()
conn.close()
print('創建數據庫%s成功' % db)
insert
import sqlite3
conn = sqlite3.connect("test.db")
cur = conn.cursor()
name = "小明"
age = 10
gender = "男"
cur.execute("insert into test values('%s',%d,'%s')" % (name, age, gender))
conn.commit()
cur.close()
conn.close()
print('添加數據成功')
delete
import sqlite3
sql = "delete from test where name='小明'"
conn = sqlite3.connect("test.db")
cur = conn.cursor()
cur.execute(sql)
conn.commit()
cur.close()
conn.close()
print('刪除數據成功')
update
import sqlite3
sql = "update test set name='小張' where name='小明'"
conn = sqlite3.connect("test.db")
cur = conn.cursor()
cur.execute(sql)
conn.commit()
cur.close()
conn.close()
print('更新數據成功')
query
import sqlite3
conn = sqlite3.connect("test.db")
cur = conn.cursor()
sql = "select * from test"
cur.execute(sql)
for row in cur.fetchall():
print(row)
cur.close()
conn.close()
print('查詢數據成功')
完整代碼
# coding=utf-8
import sqlite3
def createTable(db='test.db'):
"""
創建表
"""
conn = sqlite3.connect(db)
cur = conn.cursor()
cur.execute("create table test(name text,age int,gender text)")
conn.commit()
cur.close()
conn.close()
print('創建數據庫%s成功' % db)
def addData(name, age, gender, db='test.db'):
"""
添加數據
:param name: 姓名
:param age: 年齡
:param gender: 性別
"""
conn = sqlite3.connect(db)
cur = conn.cursor()
cur.execute("insert into test values('%s',%d,'%s')" % (name, age, gender))
conn.commit()
cur.close()
conn.close()
print('添加數據成功')
def removeData(sql, db='test.db'):
conn = sqlite3.connect(db)
cur = conn.cursor()
cur.execute(sql)
conn.commit()
cur.close()
conn.close()
print('刪除數據成功')
def queryAll(db='test.db'):
conn = sqlite3.connect(db)
cur = conn.cursor()
sql = "select * from test"
cur.execute(sql)
for row in cur.fetchall():
print(row)
cur.close()
conn.close()
print('查詢數據成功')
def updateData(sql, db='test.db'):
conn = sqlite3.connect(db)
cur = conn.cursor()
cur.execute(sql)
conn.commit()
cur.close()
conn.close()
print('更新數據成功')
if __name__ == '__main__':
createTable()
addData('小明', 10, '男')
addData('小紅', 12, '女')
addData('小王', 13, '男')
queryAll()
updateData("update test set name='小張', age=10, gender='女' where name='小紅'")
queryAll()
removeData("delete from test where name='小王'")
queryAll()
運行結果: