SQLite - Python学习笔记

简介

SQLite是一种嵌入式关系型数据库,被广泛地应用于各种移动设备和嵌入式系统中。

Python内置了对SQLite数据库的支持,使我们能够轻松地使用Python进行SQLite数据库操作。

在本学习笔记中,我们将学习如何使用Python进行SQLite数据库操作。

安装

在使用Python进行SQLite数据库操作之前,需要确保SQLite已经被安装到电脑上。如果您还没有安装SQLite,可以前往SQLite官网下载相应的安装包进行安装。

安装完成后,我们还需要安装Python的SQLite驱动程序。目前最流行的Python SQLite驱动程序是sqlite3

在Python 2.x版本中,sqlite3模块的名字叫做pysqlite2。但是在Python 3.x版本中,这个模块名字改回了sqlite3

您可以使用以下命令来检查您的电脑是否已经安装了sqlite3模块:

pythonCopy Code
import sqlite3

如果没有报错,则表示您的电脑已经安装了sqlite3模块。

连接数据库

在使用Python进行SQLite数据库操作之前,需要先连接到数据库。连接到数据库的过程类似于打开一个文件,我们需要提供数据库的名称和路径,以及访问数据库所需的用户名和密码。

可以使用以下代码来连接到SQLite数据库:

pythonCopy Code
import sqlite3 # 连接到SQLite数据库 conn = sqlite3.connect('test.db')

上面的代码创建了一个名为test.db的SQLite数据库,并将其连接到Python程序中。如果该数据库不存在,则会自动创建。

创建数据表

在SQLite数据库中,数据以表格形式存储,每个表格代表一种实体。在Python中,我们可以通过执行SQL语句来创建表格。

可以使用以下代码来创建一个名为students的数据表:

pythonCopy Code
import sqlite3 # 连接到SQLite数据库 conn = sqlite3.connect('test.db') # 创建一个名为`students`的数据表 conn.execute('''CREATE TABLE students (ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, EMAIL CHAR(50));''') print("Table created successfully")

上面的代码创建了一个名为students的数据表,并定义了四个字段:IDNAMEAGEEMAIL。其中,ID字段为主键,不允许为空。其他字段均为必填字段。

插入数据

在SQLite数据库中,我们可以通过执行SQL语句来插入数据。可以使用以下代码向students数据表中插入一条数据:

pythonCopy Code
import sqlite3 # 连接到SQLite数据库 conn = sqlite3.connect('test.db') # 向`students`数据表插入一条数据 conn.execute("INSERT INTO students (ID, NAME, AGE, EMAIL) \ VALUES (1, 'Tom', 20, 'tom@example.com')") # 提交事务 conn.commit() print("Record created successfully")

上面的代码向students数据表中插入了一条数据,其中ID为1,NAMETomAGE为20,EMAILtom@example.com

在执行完插入操作后,我们需要调用commit()方法将事务提交到数据库中。

查询数据

在SQLite数据库中,我们可以通过执行SQL语句来查询数据。可以使用以下代码来查询students数据表中的所有数据:

pythonCopy Code
import sqlite3 # 连接到SQLite数据库 conn = sqlite3.connect('test.db') # 查询`students`数据表中的所有数据 cursor = conn.execute("SELECT ID, NAME, AGE, EMAIL from students") for row in cursor: print("ID = ", row[0]) print("NAME = ", row[1]) print("AGE = ", row[2]) print("EMAIL = ", row[3], "\n") print("Operation done successfully")

上面的代码输出students数据表中的所有数据,包括IDNAMEAGEEMAIL四个字段。

修改数据

在SQLite数据库中,我们可以通过执行SQL语句来修改数据。可以使用以下代码来修改students数据表中的一条数据:

pythonCopy Code
import sqlite3 # 连接到SQLite数据库 conn = sqlite3.connect('test.db') # 修改`students`数据表中的一条数据 conn.execute("UPDATE students set AGE = 21 where ID = 1") # 提交事务 conn.commit() print("Total number of rows updated :", conn.total_changes)

上面的代码将students数据表中ID为1的数据的AGE字段的值修改为21。

在执行完修改操作后,我们需要调用commit()方法将事务提交到数据库中,并调用total_changes属性获取共有多少行数据被修改。

删除数据

在SQLite数据库中,我们可以通过执行SQL语句来删除数据。可以使用以下代码来删除students数据表中的一条数据:

pythonCopy Code
import sqlite3 # 连接到SQLite数据库 conn = sqlite3.connect('test.db') # 删除`students`数据表中的一条数据 conn.execute("DELETE from students where ID = 1") # 提交事务 conn.commit() print("Total number of rows deleted :", conn.total_changes)

上面的代码删除了students数据表中ID为1的数据。

在执行完删除操作后,我们需要调用commit()方法将事务提交到数据库中,并调用total_changes属性获取共有多少行数据被删除。

结论

本学习笔记介绍了如何使用Python进行SQLite数据库操作,包括连接数据库、创建数据表、插入数据、查询数据、修改数据和删除数据等操作。希望对您有所帮助。