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 Codeimport sqlite3
如果没有报错,则表示您的电脑已经安装了sqlite3
模块。
连接数据库
在使用Python进行SQLite数据库操作之前,需要先连接到数据库。连接到数据库的过程类似于打开一个文件,我们需要提供数据库的名称和路径,以及访问数据库所需的用户名和密码。
可以使用以下代码来连接到SQLite数据库:
pythonCopy Codeimport sqlite3
# 连接到SQLite数据库
conn = sqlite3.connect('test.db')
上面的代码创建了一个名为test.db
的SQLite数据库,并将其连接到Python程序中。如果该数据库不存在,则会自动创建。
创建数据表
在SQLite数据库中,数据以表格形式存储,每个表格代表一种实体。在Python中,我们可以通过执行SQL语句来创建表格。
可以使用以下代码来创建一个名为students
的数据表:
pythonCopy Codeimport 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
的数据表,并定义了四个字段:ID
、NAME
、AGE
和EMAIL
。其中,ID
字段为主键,不允许为空。其他字段均为必填字段。
插入数据
在SQLite数据库中,我们可以通过执行SQL语句来插入数据。可以使用以下代码向students
数据表中插入一条数据:
pythonCopy Codeimport 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,NAME
为Tom
,AGE
为20,EMAIL
为tom@example.com
。
在执行完插入操作后,我们需要调用commit()
方法将事务提交到数据库中。
查询数据
在SQLite数据库中,我们可以通过执行SQL语句来查询数据。可以使用以下代码来查询students
数据表中的所有数据:
pythonCopy Codeimport 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
数据表中的所有数据,包括ID
、NAME
、AGE
和EMAIL
四个字段。
修改数据
在SQLite数据库中,我们可以通过执行SQL语句来修改数据。可以使用以下代码来修改students
数据表中的一条数据:
pythonCopy Codeimport 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 Codeimport 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数据库操作,包括连接数据库、创建数据表、插入数据、查询数据、修改数据和删除数据等操作。希望对您有所帮助。