使用mysql.connector 操作mysql数据库,首先需要创建连接,第二步是获得cursor,想要执行sql语句,需要调用cursor的execute方法。在上一篇教程中,我们已经向city表里写入了几条数据,现在演示如何获取这些数据
1. fetchall获取查询的全部数据
import mysql.connector
# 第一步,创建连接
mydb = mysql.connector.connect(
host="10.110.30.3", # 数据库主机地址
user="flink_user", # 数据库用户名
passwd="123456", # 数据库密码
port=6606,
database='flink_db'
)
sql = "select * from city"
mycursor = mydb.cursor() # 第二步,创建cursor
mycursor.execute(sql) # 第三步,执行sql
datas = mycursor.fetchall() # 第四步, fetchall 获取全部数据
for data in datas:
print(data)复制
程序输出结果
(11, '北京')
(12, '上海')
(13, '广州')
(14, '深圳')复制
2. fetchone 和 fetchmany
fetchone 从查询获取到的数据集合中取出一条数据
data = mycursor.fetchone() # fetchone 获取集合中的一条
print(data) # (11, '北京')复制
fetchmany 可以获取多条数据,需要指定获取数据条目的数量
data = mycursor.fetchmany(2) # fetchmany 获取2两条数据
print(data) # [(11, '北京'), (12, '上海')]复制
3. 获取字典形式的返回值
前面的例子里,查询获得数据都是以元组的形式返回的,这种格式不利于查看和处理,最受欢迎的格式是字典格式,这种格式需要在创建cursor时指定dictionary
sql = "select * from city"
mycursor = mydb.cursor(dictionary=True) # 第二步,创建cursor
mycursor.execute(sql) # 第三步,执行sql
data = mycursor.fetchone() # fetchone 获取集合中的一条
print(data) # {'id': 11, 'name': '北京'}复制
除了字典格式,还可以使用named_tuple格式
sql = "select * from city"
mycursor = mydb.cursor(named_tuple=True) # 第二步,创建cursor
mycursor.execute(sql) # 第三步,执行sql
data = mycursor.fetchone() # fetchone 获取集合中的一条
print(data) # Row(id=11, name='北京')复制
文章转载自coolpython,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【专家有话说第五期】在不同年龄段,DBA应该怎样规划自己的职业发展?
墨天轮编辑部
1328次阅读
2025-03-13 11:40:53
MySQL8.0统计信息总结
闫建(Rock Yan)
501次阅读
2025-03-17 16:04:03
2月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
470次阅读
2025-03-13 14:38:19
SQL优化 - explain查看SQL执行计划(一)
金同学
398次阅读
2025-03-13 16:04:22
MySQL突然崩溃?教你用gdb解剖core文件,快速锁定“元凶”!
szrsu
378次阅读
2025-03-13 00:29:43
MySQL生产实战优化(利用Index skip scan优化性能提升257倍)
chengang
331次阅读
2025-03-17 10:36:40
MySQL数据库当前和历史事务分析
听见风的声音
307次阅读
2025-04-01 08:47:17
MySQL 生产实践-Update 二级索引导致的性能问题排查
chengang
253次阅读
2025-03-28 16:28:31
墨天轮个人数说知识点合集
JiekeXu
244次阅读
2025-04-01 15:56:03
一键装库脚本3分钟极速部署,传统耗时砍掉95%!
IT邦德
243次阅读
2025-03-10 07:58:44