下面是“利用Python实现sqlite3增删改查的封装”的完整攻略:
1. 安装sqlite3和Python的sqlite库
要使用sqlite3,需要在系统上安装sqlite3。在Linux和Mac上通常是默认安装的,在Windows上,可以从SQLite官网下载适合的二进制版本安装。
同时,Python也需要安装sqlite库,可以使用pip来安装:
pip install sqlite3
2. 连接数据库
在Python中,可以使用sqlite3
模块来连接数据库。连接数据库需要指定数据库文件的路径。如果文件不存在,则会创建一个新的空的数据库文件。
以下是连接数据库的示例代码:
import sqlite3
# 连接到数据库
conn = sqlite3.connect('example.db')
3. 创建表格
在sqlite3中,可以使用SQL语句来创建表格。以下是创建表格的示例代码:
import sqlite3
# 连接到数据库
conn = sqlite3.connect('example.db')
# 创建一个表格
conn.execute('''CREATE TABLE students
(ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
GRADE INT NOT NULL);''')
以上代码创建了一个名为“students”的表格,包含四个字段:ID、NAME、AGE和GRADE。
4. 插入数据
可以使用SQL语句来插入数据。以下是插入数据的示例代码:
import sqlite3
# 连接到数据库
conn = sqlite3.connect('example.db')
# 插入一条数据
conn.execute("INSERT INTO students (ID,NAME,AGE,GRADE) \
VALUES (1, 'Tom', 18, 92)")
# 提交更改
conn.commit()
以上代码向表格“students”中插入了一条ID为1、名字为Tom、年龄为18、成绩为92的记录。
5. 查询数据
可以使用SQL语句来查询数据。以下是查询数据的示例代码:
import sqlite3
# 连接到数据库
conn = sqlite3.connect('example.db')
# 查询数据
cursor = conn.execute("SELECT ID, NAME, AGE, GRADE from students")
for row in cursor:
print("ID = ", row[0])
print("NAME = ", row[1])
print("AGE = ", row[2])
print("GRADE = ", row[3], "\n")
以上代码查询了表格“students”中的所有记录,并依次打印出每条记录的ID、NAME、AGE和GRADE。
6. 更新数据
可以使用SQL语句来更新数据。以下是更新数据的示例代码:
import sqlite3
# 连接到数据库
conn = sqlite3.connect('example.db')
# 更新数据
conn.execute("UPDATE students SET AGE = 19 WHERE ID = 1")
# 提交更改
conn.commit()
以上代码将ID为1的记录的AGE字段更新为19。
7. 删除数据
可以使用SQL语句来删除数据。以下是删除数据的示例代码:
import sqlite3
# 连接到数据库
conn = sqlite3.connect('example.db')
# 删除数据
conn.execute("DELETE FROM students WHERE ID = 1")
# 提交更改
conn.commit()
以上代码将ID为1的记录从表格“students”中删除。
通过上述七个步骤,我们就完成了sqlite3增删改查的封装,可以方便地对sqlite3数据库进行操作。
以下是另一个示例,只展示查询数据并生成HTML表格的代码:
import sqlite3
# 连接到数据库
conn = sqlite3.connect('example.db')
# 查询数据
cursor = conn.execute("SELECT ID, NAME, AGE, GRADE from students")
# 生成HTML表格
print('<table border="1">')
print('<tr><th>ID</th><th>NAME</th><th>AGE</th><th>GRADE</th></tr>')
for row in cursor:
print('<tr>')
print('<td>', row[0], '</td>')
print('<td>', row[1], '</td>')
print('<td>', row[2], '</td>')
print('<td>', row[3], '</td>')
print('</tr>')
print('</table>')
以上代码将表格“students”中的所有记录查询出来,并生成一个HTML格式的表格。