Python数据库编程之pymysql详解
什么是pymysql
pymysql是Python语言上的一个Mysql数据库接口,它遵循Python数据库API v2.0规范,使用方式与Python内置的sqlite3、PostgreSQL数据库上的psycopg2等类似。pymysql具有易用性、模块化、线程安全和SQL注入安全等优点,在使用Python进行MySQL数据库编程时,是一个非常好的选择。
安装pymysql
在使用pymysql进行数据库编程之前,我们需要先安装它。安装方法如下:
pip install pymysql
连接MySQL
pymysql通过connect()方法连接到MySQL数据库。connect()方法的参数包括host、port、user、password、database等。示例代码如下:
import pymysql
# 打开数据库连接
db = pymysql.connect(host="localhost", user="root", password="123456", database="testdb")
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# 使用execute()方法执行SQL查询
cursor.execute("SELECT VERSION()")
# 使用fetchone()方法获取单条数据
data = cursor.fetchone()
print("Database version : %s " % data)
# 关闭数据库连接
db.close()
注:该示例代码假设存在一个名为testdb的MySQL数据库
CRUD操作
CRUD(Create、Retrieve、Update、Delete)是数据库操作中最基本的四种操作。在pymysql中,进行CRUD操作的方法包括execute()、executemany()、fetchone()、fetchall()、fetchmany()、commit()等。示例代码如下:
创建数据
import pymysql
# 打开数据库连接
db = pymysql.connect(host="localhost", user="root", password="123456", database="testdb")
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# SQL语句
sql = "INSERT INTO employee(name, age, sex, income) VALUES('%s', '%d', '%c', '%d')" % ('Tom', 23, 'M', 5000)
try:
# 执行SQL语句
cursor.execute(sql)
# 提交修改
db.commit()
print("数据插入成功")
except:
# 发生错误时回滚
db.rollback()
print("数据插入失败")
# 关闭数据库连接
db.close()
查询数据
import pymysql
# 打开数据库连接
db = pymysql.connect(host="localhost", user="root", password="123456", database="testdb")
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# SQL语句
sql = "SELECT * FROM employee WHERE income > '%d'" % (1000)
try:
# 执行SQL语句
cursor.execute(sql)
# 获取所有记录列表
results = cursor.fetchall()
for row in results:
name = row[0]
age = row[1]
sex = row[2]
income = row[3]
# 打印结果
print("Name=%s,Age=%d,Sex=%s,Income=%d" % (name, age, sex, income))
except:
print("Error: unable to fetch data")
# 关闭数据库连接
db.close()
更新数据
import pymysql
# 打开数据库连接
db = pymysql.connect(host="localhost", user="root", password="123456", database="testdb")
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# SQL语句
sql = "UPDATE employee SET age = age + 1 WHERE sex = '%c'" % ('M')
try:
# 执行SQL语句
cursor.execute(sql)
# 提交修改
db.commit()
print("数据更新成功")
except:
# 发生错误时回滚
db.rollback()
print("数据更新失败")
# 关闭数据库连接
db.close()
删除数据
import pymysql
# 打开数据库连接
db = pymysql.connect(host="localhost", user="root", password="123456", database="testdb")
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# SQL语句
sql = "DELETE FROM employee WHERE income > '%d'" % (1000)
try:
# 执行SQL语句
cursor.execute(sql)
# 提交修改
db.commit()
print("数据删除成功")
except:
# 发生错误时回滚
db.rollback()
print("数据删除失败")
# 关闭数据库连接
db.close()
以上就是基本的pymysql操作,读者可以根据需求进行进一步的学习和实践。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python数据库编程之pymysql详解 - Python技术站