1. sqlite3概述
sqlite3是一个轻量级的,自包含的SQL数据库引擎。它不需要任何服务器或配置才能开始使用,并且可以管理小型到中型数据集。它非常适合存储单个文件、以离线方式运行的应用程序的数据。
它的一些主要特点包括:
完全支持SQL-92标准
全面实现了ACID属性(原子性、一致性、隔离性、持久性)
高度可靠性,且不会因频繁写入而降低性能
支持各种数据类型
2. Python与sqlite3
Python自带了sqlite3模块,因此无需安装即可开始使用sqlite3数据库。Python的Sqlite3库提供了完整的操作sqlite3数据库的API,包括连接到数据库、创建数据库表、添加数据、更新数据、删除数据等等。下面是一个简单的示例:
import sqlite3
# 连接到数据库,如果不存在则创建
conn = sqlite3.connect('example.db')
# 创建游标
c = conn.cursor()
# 创建表
c.execute('''CREATE TABLE stocks
(date text, trans text, symbol text, qty real, price real)''')
# 添加数据
c.execute("INSERT INTO stocks VALUES ('2006-01-05', 'BUY', 'RHAT', 100, 35.14)")
# 查询数据
c.execute("SELECT * FROM stocks")
print(c.fetchone())
# 提交更改并关闭连接
conn.commit()
conn.close()
3. 常用sqlite3操作
3.1 连接到数据库
我们需要使用Python库中的sqlite3.connect()
函数连接到所需的数据库。如果该数据库不存在,则该函数将自动创建。下面是一个示例:
import sqlite3
# 连接到数据库
conn = sqlite3.connect('example.db')
3.2 创建表
可以使用游标执行CREATE TABLE语句来创建一个新表。下面是一个示例:
import sqlite3
# 连接到数据库
conn = sqlite3.connect('example.db')
# 创建游标
c = conn.cursor()
# 创建表
c.execute('''CREATE TABLE stocks
(date text, trans text, symbol text, qty real, price real)''')
3.3 插入数据
可以使用INSERT INTO
语句向表中插入数据。下面是一个示例:
import sqlite3
# 连接到数据库
conn = sqlite3.connect('example.db')
# 创建游标
c = conn.cursor()
# 添加数据
c.execute("INSERT INTO stocks VALUES ('2006-01-05','BUY','RHAT',100,35.14)")
# 提交更改并关闭连接
conn.commit()
conn.close()
3.4 查询数据
可以使用SELECT
语句从表中查询数据。下面是一个示例:
import sqlite3
# 连接到数据库
conn = sqlite3.connect('example.db')
# 创建游标
c = conn.cursor()
# 查询数据
c.execute("SELECT * FROM stocks")
print(c.fetchone())
# 提交更改并关闭连接
conn.commit()
conn.close()
3.5 更新数据
可以使用UPDATE
语句来更新表中的数据。下面是一个示例:
import sqlite3
# 连接到数据库
conn = sqlite3.connect('example.db')
# 创建游标
c = conn.cursor()
# 更新数据
c.execute("UPDATE stocks SET qty = 200 WHERE symbol = 'RHAT'")
# 提交更改并关闭连接
conn.commit()
conn.close()
3.6 删除数据
可以使用DELETE
语句从表中删除数据。下面是一个示例:
import sqlite3
# 连接到数据库
conn = sqlite3.connect('example.db')
# 创建游标
c = conn.cursor()
# 删除数据
c.execute("DELETE FROM stocks WHERE symbol = 'RHAT'")
# 提交更改并关闭连接
conn.commit()
conn.close()
4. 结语
本文介绍了sqlite3数据库的基础知识以及Python中操作sqlite3数据库的方法。sqlite3是一个十分强大的数据库引擎,应用广泛,不仅可以用作底层存储介质,也可以用作轻量级的开发环境,便于管理小型到中型数据集。在Python中使用sqlite3也十分方便,可以快速地进行数据库操作。