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()
运行结果: