简介
PyMySQL是Python/ target=_blank class=infotextkey>Python中流行的MySQL数据库驱动程序,它提供了便捷的方法来连接、查询和更新MySQL数据库。本文将为您提供使用PyMySQL访问MySQL数据库的详细指南,包括安装PyMySQL、连接数据库、执行查询和更新操作等。
获取更多技术资料,请点击!
环境准备
在开始之前,您需要确保已经安装了PyMySQL库。可以使用pip命令进行安装:
pip install pymysql
连接到数据库
首先需要建立与MySQL数据库的连接。使用PyMySQL库的示例代码如下:
pymysql.connect(
host = 'localhost',
port = 3306,
user = 'root',
password = '123456',
db ='students',
charset = 'utf8'
调用connect 方法生成一个 connect 对象, 通过这个对象来访问数据库
connect 方法的主要参数
connect 对象
常用方法
cursor 对象
cursor 对象用于执行 SQL 命令和得到 SQL 查询结果
常用方法
创建数据库
我们创建一个名为students的库,并创建一个名为students的表,包含id,name,age三个字段,代码如下:
db = pymysql.connect(
host='localhost',
port=3306,
user='root',
password='1234567890',
db='students',
charset='utf8'
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
sql = """SET character_set_database=utf8;
SET character_set_server=utf8;
DROP DATABASE IF EXISTS students;
CREATE DATABASE students;
USE school;"""
lists = sql.split("")
for i in lists:
cursor.execute(i)
create_sql = """
CREATE TABLE students(
id VARCHAR(32),
name VARCHAR(32),
age INT
);
"""
cursor.execute(create_sql)
insert_sql = """
INSERT INTO students(id, name, age) VALUES ('202301', '穆勒', '18');
"""
cursor.execute(insert_sql)
db.commit()
db.close()
查询数据
查询数据之前,我们先要与数据库进行连接,一旦建立了数据库连接,就可以执行各种查询操作。
db = pymysql.connect(
host='localhost',
port=3306,
user='root',
password='1234567890',
db='students',
charset='utf8'
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
fetchall匹配
返回全部匹配结果
sql = "select * from students;"
rows = cursor.execute(sql)
# 记录数
print("there are %d students" % rows)
# 可迭代对象
students = cursor.fetchall()
# 循环输出
for i in students:
print(i)
# 输出结果
there are 1 students
('202301', '穆勒', 18)
fetchone匹配
返回一条记录
# 查询数据 - fetchone
sql = "select * from students;"
rows = cursor.execute(sql)
# 根据记录数循环
for i in range(rows):
student = cursor.fetchone()
print(student)
# 输出结果
('202301', '穆勒', 18)
fetchmany匹配
可以自定义返回多少条记录数
# 查询数据 - fetchmany
sql = "select * from students;"
rows = cursor.execute(sql)
# 可迭代对象
students = cursor.fetchmany(3)
# 循环结果集
for i in students:
print(i)
# 输出结果
('202301', '穆勒', 18)
插入数据
db = pymysql.connect(
host='localhost',
port=3306,
user='root',
password='1234567890',
db='students',
charset='utf8'
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 增加数据
id = 202302
name = "基米希"
age = 24
sql = 'insert into students(id,name,age) VALUES("%s", "%s", %d)' % (id, name, age)
# 执行 insert sql
rows = cursor.execute(sql)
# 查看 insert 语句返回结果,其实就是执行成功了多少条数据
print('Insert %d students' % rows)
# 只有调用了 commit 方法才能将数据落盘,即提交 insert 操作
db.commit()
# 输出结果
Insert 1 students
修改数据
db = pymysql.connect(
host='localhost',
port=3306,
user='root',
password='1234567890',
db='students',
charset='utf8'
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 更新数据
id = 202302
name = "基米希"
age = 16
sql = 'UPDATE students SET name="%s", age=%d WHERE sno="%s"' % (name, age, id)
# 执行 update sql
rows = cursor.execute(sql)
# 返回成功修改记录的条数
print('update %d students' % rows)
# 调用 commit,才会将 update 操作提交
db.commit()
# 输出结果
update 1 students
删除数据
db = pymysql.connect(
host='localhost',
port=3306,
user='root',
password='1234567890',
db='students',
charset='utf8'
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 更新数据
sno = 202302
name = "小菠萝"
age = 14
sql = 'DELETE FROM students'
# 执行 delete sql
rows = cursor.execute(sql)
# 返回成功修改记录的条数
print('delete %d students' % rows)
# 调用 commit,才会将 delete 操作提交
db.commit()
# 输出结果
delete 2 students
总结
本文介绍了使用PyMySQL操作MySQL数据库的详细步骤。从安装PyMySQL开始,连接数据库,执行查询和增加修改删除操作,这些都是使用PyMySQL访问MySQL数据库所需的关键步骤。希望本文能够帮助您使用PyMySQL轻松地操作MySQL数据库,并实现您的数据存储和检索需求。