利用Python实现sqlite3增删改查的封装

  • Post category:Python

下面是“利用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格式的表格。