亲宝软件园·资讯

展开

python连接mysql

侯小啾 人气:0

前言:

使用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()

加载全部内容

相关教程
猜你喜欢
用户评论