1. Python与数据库交互的概念
Python和数据库的交互,一般指的是使用Python语言来操作数据库的API,实现通过Python程序对数据库进行增删改查等操作。Python支持的数据库类型非常丰富,包括MySQL、PostgreSQL、Oracle、SQLite等多种类型,其中最为常用的是MySQL和SQLite,本文章主要介绍Python和MySQL以及Python和SQLite的交互。
2. 使用Python与MySQL交互
2.1 安装pymysql模块
Python和MySQL交互最常用的模块是pymysql,它是Python连接MySQL数据库的模块。在使用pymysql之前,需要先使用pip安装。
pip install pymysql
2.2 连接MySQL数据库
连接MySQL数据库需要首先创建一个连接对象,需要提供MySQL数据库的地址、用户名和密码等信息。使用Python连接MySQL数据库的代码如下:
import pymysql
# 打开数据库连接
db = pymysql.connect("localhost", "root", "root", "test")
其中,localhost代表MySQL数据库所在的IP地址,root代表MySQL数据库的用户名,root代表MySQL数据库的密码,test代表需要连接的MySQL数据库的名称。
2.3 创建游标
连接MySQL数据库成功之后,需要创建一个游标对象。游标对象用于对MySQL数据库进行操作,包括查询数据、更新数据、插入数据等常见操作。
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
2.4 执行MySQL语句
创建游标对象之后,就可以执行MySQL语句了。执行MySQL语句可以使用游标的execute()方法,该方法需要传入要执行的MySQL语句。
# SQL 查询语句
sql = "SELECT * FROM employee"
# 执行 SQL 查询语句
cursor.execute(sql)
# 获取所有记录列表
results = cursor.fetchall()
for row in results:
name = row[0]
age = row[1]
sex = row[2]
salary = row[3]
# 打印结果
print("name=%s,age=%d,sex=%s,salary=%d"% \
(name, age, sex, salary))
以上代码可以查询MySQL数据库中employee表中的所有记录,并将查询结果打印到控制台。运行结果如下:
name=张三,age=24,sex=男,salary=3000
name=李四,age=26,sex=女,salary=3500
name=王五,age=27,sex=男,salary=3800
2.5 关闭数据库连接
在所有操作完成之后,需要关闭游标和数据库连接,释放资源。
# 关闭游标
cursor.close()
# 关闭数据库连接
db.close()
3. 使用Python与SQLite交互
3.1 安装sqlite3模块
Python内置了sqlite3模块,可以直接使用。不过,在使用sqlite3模块之前,需要安装SQLite数据库。
3.2 连接SQLite数据库
连接SQLite数据库需要首先创建一个连接对象,需要提供SQLite数据库文件的路径。使用Python连接SQLite数据库的代码如下:
import sqlite3
# 打开数据库连接
conn = sqlite3.connect('test.db')
其中,test.db代表需要连接的SQLite数据库文件名。
3.3 创建游标
连接SQLite数据库成功之后,需要创建一个游标对象。游标对象用于对SQLite数据库进行操作,包括查询数据、更新数据、插入数据等常见操作。
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = conn.cursor()
3.4 执行SQLite语句
创建游标对象之后,就可以执行SQLite语句了。执行SQLite语句可以使用游标的execute()方法,该方法需要传入要执行的SQLite语句。
# SQL 查询语句
sql = "SELECT * FROM employee"
# 执行 SQL 查询语句
cursor.execute(sql)
# 获取所有记录列表
results = cursor.fetchall()
for row in results:
name = row[0]
age = row[1]
sex = row[2]
salary = row[3]
# 打印结果
print("name=%s,age=%d,sex=%s,salary=%d"% \
(name, age, sex, salary))
以上代码可以查询SQLite数据库中employee表中的所有记录,并将查询结果打印到控制台。运行结果与使用Python和MySQL交互的示例相同。
3.5 关闭数据库连接
在所有操作完成之后,需要关闭游标和数据库连接,释放资源。
# 关闭游标
cursor.close()
# 关闭数据库连接
conn.close()
4. 总结
本文介绍了Python和MySQL以及Python和SQLite的交互过程。Python和MySQL交互需要安装pymysql模块,连接MySQL数据库可以使用pymysql.connect()方法,执行MySQL语句可以使用游标的execute()方法,关闭连接需要分别关闭游标和数据库连接。Python和SQLite交互不需要安装任何模块,连接SQLite数据库可以使用sqlite3.connect()方法,执行SQLite语句可以使用游标的execute()方法,关闭连接需要分别关闭游标和数据库连接。