如何使用Python中的sqlite3库来操作数据库
SQLite是一个轻量级的关系型数据库管理系统,它支持跨平台,易于设置和使用,是许多应用程序中使用SQLite数据库的理想选择之一。Python自带SQLite的库就是sqlite3库,它提供了许多函数和方法来连接,查询,修改和管理SQLite数据库。
连接SQLite数据库
要使用sqlite3库和sqlite3模块,首先需要导入sqlite3库
import sqlite3
要连接到SQLite数据库,可以使用connect()函数,传入数据库的名称和路径:
conn = sqlite3.connect('example.db')
在执行此命令后,将会连接到example.db文件(如果没有,将会在同一目录下创建一个新的数据库文件)
执行SQL语句
在连接到数据库后,可以执行SQL语句来创建表,插入新数据,更新数据或查询数据。可以通过打开一个游标(cursor)来执行SQL语句:
c = conn.cursor()
要执行SQL语句,请调用executescript函数,并将命令作为字符串传递:
c.executescript('''
CREATE TABLE users (
id INTEGER PRIMARY KEY,
username VARCHAR(50) UNIQUE,
email VARCHAR(50) UNIQUE,
full_name VARCHAR(50)
);
INSERT INTO users (username, email, full_name)
VALUES ('john', 'john@example.com', 'John Doe');
''')
该代码执行两个任务:
- 创建名为users的新表,该表有四个列:id,username,email和full\_name。
- 添加一行数据到users表中。
c.execute()和c.executemany()函数也可用来执行单个或多个SQL语句,例如:
c.execute('''UPDATE users SET full_name = 'Jane Jones' WHERE username = 'john' ''')
c.executemany('''INSERT INTO stocks VALUES (?, ?, ?)''', [(1, '2021-01-01', 100), (2, '2021-02-01', 200)])
提交更改
执行SQL命令后,可以使用commit()方法将更改提交到数据库中:
conn.commit()
查询数据
在连接到数据库后,可以使用游标(cursor)来查询数据。要查询,可以使用execute()函数执行SELECT语句,然后使用fetchone()或fetchall()方法来检索结果。
fetchone()方法将返回查询结果中的下一行(如果有),而fetchall()方法将返回所有的行。例如:
c.execute("SELECT * FROM users WHERE email LIKE '%@example.com' ")
print(c.fetchone())
该代码将从数据库中检索所有具有电子邮件“example.com”的用户信息。
关闭连接
运行完查询,修改等要记得关闭连接:
conn.close()
当你完成问询,修改数据库所需要的操作时请关闭连接,否则容易浪费计算机资源。
以上是使用Python中的sqlite3库来操作数据库的方法。SQLite数据库作为一个轻型的数据库,使用Python与sqlite3库相结合,提供了一个简单,快速和可移植的解决方案,适用于小型项目和数据管理需求。
