Pandas操作MySQL的方法详解


当前第2页 返回上一页

通过游标获取全部的数据:

fetch相关的函数都是获取结果集中剩下的数据,多次调用的时候只会从剩余数据中查询:

当第二次调用的时候结果就是空集。

通过游标获取查询的结果集的特点:

1.可以获取1条、多条和全部数据

2.在获取数据的时候是按照顺序读取的

3.fetchall函数返回剩下的所有行

  • 如果是末尾,则返回空元组;
  • 否则返回一个元组,其元素是每一行的记录封装的一个元组

转成DataFrame

#?列名
columns?=?[col[0]?for?col?in??cur.description]

#?数据集合
data?=?[]
for?i?in?cur.fetchall():
????data.append(i)
????
df?=?pd.DataFrame(data,columns=columns)

保存成CSV数据

SQL插入数据

往MySQL数据库中插入数据:

import?pandas?as?pd

import?pymysql
from?sqlalchemy?import?create_engine

connection?=?pymysql.connect(
??host='127.0.0.1',??#?本机ip地址
??port=3306,??#?mysql默认端口号
??user="root",??#?用户名
??password="11112222",??#?密码
??charset="utf8",?#?字符集
??db="test"??#?数据库
)

cur?=?connection.cursor()?#?建立游标

#?待执行SQL语句
sql="""??
insert?into?test.Student(s_id,?s_name,?s_birth,?s_sex)?values("09","吴越","1998-08-08","男")
"""

#?执行sql语句
cur.execute(sql)??

很关键一步,要记得提交,这样最终才会写入数据库:

connection.commit()

执行SQL删除语句

使用完之后记得关闭连接:

connection.close()

使用sqlalchemy

第二种常用的方法是通过sqlalchemy来连接数据库:

连接数据库

import?pandas?as?pd
from?sqlalchemy?import?create_engine

#?依次填写MySQL的用户名、密码、IP地址、端口、数据库名
#?create_engine("数据库类型+数据库驱动://数据库用户名:数据库密码@IP地址:端口/数据库",其他参数)
engine?=?create_engine("mysql+pymysql://root:password@localhost:3306/test")

查询语句1

查询语句2

写入数据

Pandas中的DataFrame写入新的表testdf中:

show?tables;

使用read_sql读取

使用Pandas自带的read_sql函数能够自行读取数据,读取上面创建的数据.

官网:https://pandas.pydata.org/docs/reference/api/pandas.read_sql.html

import?pandas?as?pd
from?sqlalchemy?import?create_engine

#?依次填写MySQL的用户名、密码、IP地址、端口、数据库名
engine?=?create_engine("mysql+pymysql://root:password@localhost:3306/test")
#?sql语句
sql4?=?"select?*?from?testdf;"
df4?=?pd.read_sql(sql4,?engine)

到此这篇关于Pandas操作MySQL的方法详解的文章就介绍到这了,更多相关Pandas操作MySQL内容请搜索

更多SQL内容来自木庄网络博客


打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...