前言:
使用python
连接mysql数据库数据
有以下两种读取数据的方式推荐:
一种是通过游标,及fetch系列方法进行操作,另一种是通过pandas的read_sql()进行读取并操作。各种方法各有优劣,可根据具体情形,择优选择使用。
示例如下:
1.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()
2.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()
到此这篇关于使用python连接mysql数据库数据方式的文章就介绍到这了,更多相关python连接mysql内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!