0
点赞
收藏
分享

微信扫一扫

python连接mysql数据库数据

witmy 2022-02-20 阅读 58

使用python连接mysql数据库数据,有以下两种读取数据的方式推荐。
一种是通过游标,及fetch系列方法进行操作,另一种是通过pandas的read_sql()进行读取并操作。各种方法各有优劣,可根据具体情形,择优选择使用。
在这里插入图片描述

文章目录


示例如下:

fetchone/fetchmany/fetchall

获取一条、多条、全部条。

import pymysql

# 数据库相关信息
dbHost = 'xxxxxxx'
dbUser = 'xxx'
dbPassword = '******'
dbName = 'xxx'
dbCharset = 'utf8'
conn = pymysql.connect(host=dbHost, port=3306, user=dbUser, password=dbPassword, db=dbName, charset=dbCharset)


# 获取游标对象
cs = conn.cursor()

# 通过游标对象,执行sql语句,返回值为受影响记录的行数
r = cs.execute('select * from goods')

# 获取一条数据
print(cs.fetchone())  # 第一条数据
print("==============================================")
# 再次执行会获取第二条数据
print(cs.fetchone())  # 第二条数据

# 获取多条数据
print(cs.fetchmany(3))  # 指定条数

# 获取全部数据
print(cs.fetchall())
# 再次执行,获取到的将是一个空元组,因为上边的fetchall已经取完了(游标可以理解为对获取位置的标记)
print(cs.fetchall())  # 当获取完毕,再查询数据返回为()

# 获取结束后,要有始有终,关闭游标和数据库连接
# 关闭游标
cs.close()
# 关闭连接
conn.close()

pandas.read_sql()

使用pandas库的read_sql()函数获取数据,将得到一个DataFrame。

import pymysql
import pandas as pd

# 数据库相关信息
dbHost = 'xxxxxxx'
dbUser = 'xxx'
dbPassword = '******'
dbName = 'xxx'
dbCharset = 'utf8'
conn = pymysql.connect(host=dbHost, port=3306, user=dbUser, password=dbPassword, db=dbName, charset=dbCharset)

sql = "select xxxxxxxxxxxxxxxxxxxxxxxxxxxx"
df = pd.read_sql(sql, conn)
print(df)

# 关闭连接
conn.close()
举报

相关推荐

0 条评论