暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

python 使用mysql.connector 查询数据

coolpython 2021-11-11
2105

使用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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论