欢迎访问宙启技术站
智能推送

数据库操作:使用Python的SQLite库对关系型数据库进行增删改查

发布时间:2023-06-17 20:46:45

Python是一种高级编程语言,可以轻松处理各种编程任务,其中包括与数据库操作有关的任务。Python提供了许多针对不同数据库的库,其中包括SQLite库,SQLite是一种关系型数据库,Python通过SQLite库来操作同类数据库,如何使用Python的SQLite库对关系型数据库进行增删改查呢?

一、连接数据库

在使用Python的SQLite库对数据库进行增删改查之前,首先需要连接到目标数据库。我们可以使用Python的SQLite库中的connect()函数来连接数据库。connect()函数需要指定数据库名称,如果该数据库不存在,则连接会自动创建一个新的数据库,代码如下:

import sqlite3

conn = sqlite3.connect('database.db') #连接数据库

c = conn.cursor() #获取游标

如果目标数据库不存在,则会在运行此代码时自动生成一个数据库名称为database.db的新数据库。

二、创建数据库表

一般来说,我们需要在数据库中创建一个或多个表来存储数据。SQLite使用SQL语言来定义表结构,我们可以使用Python的SQLite库中的execute()函数执行SQL语句来创建表。例如:

c.execute('''CREATE TABLE student (

             id INTEGER PRIMARY KEY,

             name TEXT,

             age INTEGER,

             gender TEXT,

             address TEXT,

             phone TEXT

             )''') #创建student表

以上代码会在数据库的student表中创建6个字段,分别为id、name、age、gender、address和phone。其中id字段是主键,自动递增,保证每个记录都具有唯一性。

三、插入数据

插入数据是向关系型数据库添加新数据的过程。使用Python的SQLite库,我们可以使用execute()函数插入新数据。例如:

c.execute("INSERT INTO student (name, age, gender, address, phone) VALUES (?, ?, ?, ?, ?)", ('张三', 18, '男', '北京市', '13888888888')) #插入一条学生记录

以上代码将在student表中插入一条新记录,包括学生姓名、年龄、性别、地址和电话号码等字段。这里我们使用了参数化查询来防止SQL注入攻击。

四、查询数据

查询数据是从关系型数据库中检索和返回数据的过程。在Python中使用SQLite库,可以使用execute()函数执行SELECT语句来查询数据。例如:

c.execute("SELECT * FROM student") #查询所有学生记录

result = c.fetchall() #获取所有结果

以上代码将从student表中检索所有学生的记录,并将结果保存在一个Python列表中。使用fetchall()函数可以获取所有结果。

五、更新数据

更新数据是修改关系型数据库中现有数据的过程。使用Python的SQLite库,可以使用execute()函数执行UPDATE语句来更新数据。例如:

c.execute("UPDATE student SET name=?, age=?, gender=?, address=?, phone=? WHERE id=?", ('李四', 20, '女', '上海市', '13999999999', 1)) #更新学生1的记录

以上代码将更新id为1的学生记录,修改了学生的姓名、年龄、性别、地址和电话号码等字段数据。

六、删除数据

删除数据是从关系型数据库中删除现有数据的过程。使用Python的SQLite库,可以使用execute()函数执行DELETE语句来删除数据。例如:

c.execute("DELETE FROM student WHERE id=?", (1,)) #删除id为1的学生记录

以上代码将删除id为1的学生记录。

七、提交更改并关闭数据库连接

最后,在对数据库进行增删改操作后,需要使用commit()函数将更改提交到数据库,并使用close()函数关闭数据库连接。例如:

conn.commit() #提交更改

conn.close() #关闭数据库连接

本篇文章介绍了如何使用Python的SQLite库对关系型数据库进行增删改查。使用Python的SQLite库可以轻松地在Python程序中操作SQLite关系型数据库,并加快开发过程。在实际使用中,可根据具体需求来进行更加详细和复杂的操作。