下面是Python标准库之数据库sqlite3的完整攻略。
什么是sqlite3
SQLite是一个嵌入式的、轻量级的关系型数据库管理系统,它不需要单独的服务器进程或操作系统进程来运行。同时SQLite数据库文件可以在不同操作系统平台之间共享和使用。sqlite3是Python内置的一个轻量级数据库模块,支持大多数常规的SQL语句和操作,可以用于Python和SQLite交互。
安装sqlite3
Python自带sqlite3模块,不需额外安装
使用sqlite3模块
使用sqlite3模块需要先导入它,导入的方式如下:
import sqlite3
创建数据库连接
在进行sqlite3数据库操作之前,首先要连接到数据库,具体的连接方式和操作如下:
# 创建数据库连接
db_conn = sqlite3.connect('example.db')
这里我们创建了一个example.db
的SQLite数据库连接,如果文件不存在,则会自动创建一个。
创建游标(cursor)
创建一个游标(cursor)对象,通过游标对象可以对数据库进行读写操作。
# 创建游标
cursor = db_conn.cursor()
数据库操作
通过游标对象执行SQL语句完成各种操作。
创建表格
创建表格需要编写一个SQL语句,例如:
# 创建表格,语句省略创建其他列
cursor.execute('''CREATE TABLE IF NOT EXISTS COMPANY
(ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS VARCHAR(50),
SALARY REAL);''')
这里创建了一个名为COMPANY
的表格,包含五个列ID
、NAME
、AGE
、ADDRESS
、SALARY
分别表示ID、姓名、年龄、地址和薪水。其中ID
为主键,不为空。
插入数据
# 插入数据
cursor.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1, 'Paul', 32, 'California', 20000.00)")
这里插入了一条数据,表示ID为1,姓名为Paul,年龄为32,地址为California,薪水为20000.00。
查询数据
查询数据需要编写SQL语句,例如:
# 查询数据
cursor.execute("SELECT * FROM COMPANY")
result = cursor.fetchall()
print(result)
这里查询了COMPANY
表格中的所有数据并打印出来,结果如下:
[(1, 'Paul', 32, 'California', 20000.0)]
更新数据
# 更新数据
cursor.execute("UPDATE COMPANY SET SALARY = 25000 WHERE ID=1")
这里将ID
为1的数据的薪水修改为25000.00。
删除数据
# 删除数据
cursor.execute("DELETE FROM COMPANY WHERE ID=1")
这里删除了ID
为1的数据。
关闭连接
进行完数据库操作后,需要关闭数据库连接。
# 关闭游标和连接
cursor.close()
db_conn.close()
示例说明
以下是两个示例说明。
示例一:插入数据并查询数据
import sqlite3
# 创建连接
db_conn = sqlite3.connect('example.db')
# 创建游标
cursor = db_conn.cursor()
# 插入数据
cursor.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (2, 'Tom', 21, 'New York', 15000.00)")
# 查询数据
cursor.execute("SELECT * FROM COMPANY")
result = cursor.fetchall()
print(result)
# 关闭游标和连接
cursor.close()
db_conn.close()
上述代码插入了一条数据,表示ID为2,姓名为Tom,年龄为21,地址为New York,薪水为15000.00。接着查询COMPANY
表格中的所有数据并打印结果,得到以下输出:
[(2, 'Tom', 21, 'New York', 15000.0)]
示例二:创建表格并插入数据
import sqlite3
# 创建连接
db_conn = sqlite3.connect('example.db')
# 创建游标
cursor = db_conn.cursor()
# 创建表格
cursor.execute('''CREATE TABLE IF NOT EXISTS STUDENT
(ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
CLASS TEXT NOT NULL);''')
# 插入数据
cursor.execute("INSERT INTO STUDENT (ID,NAME,AGE,CLASS) VALUES (1, 'Lisa', 19, 'Class 1')")
# 查询数据
cursor.execute("SELECT * FROM STUDENT")
result = cursor.fetchall()
print(result)
# 关闭游标和连接
cursor.close()
db_conn.close()
上述代码创建了一个名为STUDENT
的表格,包含四个列ID
、NAME
、AGE
、CLASS
分别表示学号、姓名、年龄、班级。其中ID
为主键,不为空。接着插入了一条数据,表示学号为1,姓名为Lisa,年龄为19,班级为Class 1。最后查询STUDENT
表格中的所有数据并打印结果,得到以下输出:
[(1, 'Lisa', 19, 'Class 1')]
以上就是Python标准库之数据库sqlite3的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python标准库之数据库 sqlite3 - Python技术站