怎么使用Python离线保存数据库中的数据?并迁移到其他数据库?

用Python保存数据库中的表与表的数据,保存为CSV格式(保存为xlsx格式不知道为什么会缺失一些数据)。保存好之后再启动即可完成:创建表->插入数据。
摘要由CSDN通过智能技术生成

怎么使用Python离线保存数据库中的数据?并迁移到其他数据库?


前言

用Python保存数据库中的表与表的数据,保存为CSV格式(保存为xlsx格式不知道为什么会缺失一些数据)。
保存好之后再启动即可完成:创建表->插入数据。


一、运行环境

  1. win10
  2. python==3.7.2

二、需要用到的SQL语句

  • 使用该SQL语句可以获取数据库下的所有表名
SELECT table_name FROM information_schema.TABLES WHERE table_schema='数据库名称'
  • 输出该表的DDL
SHOW CREATE TABLE 数据库名称.表格名称
  • 查询
SELECT * FROM 数据库名称.表格名称
  • 插入
INSERT INTO 表格名称(1,2,3) VALUES (1,2,3)

三、保存数据库

1. 获取该数据库下的所有表名称
mySQLCursor.execute(f"SELECT table_name FROM information_schema.TABLES WHERE table_schema='{
     databasesName}'")
databasesTablesList = [i[0] for i in mySQLCursor.fetchall()]
2. 获取表的建表语句
createTablesList, createTables = [], []
for tablesName in databasesTablesList:
    mySQLCursor.execute(f"SHOW CREATE TABLE {
     databasesName}.{
     tablesName}")
    createTablesList.append(mySQLCursor.fetchall()[0][1])
    createTables.append(tablesName)
(pd.DataFrame({
   '表格': createTables, '建表语句': createTablesList})).to_csv(
    rf'{
     saveDataFilePath}\{
     databasesName}-建表.csv', index=False, encoding='utf-8')
3. 获取表数据并保存到本地
for tablesName in databasesTablesList:
    (pd.read_sql(f"SELECT * FROM {
     databasesName}.{
     tablesName}", con=mySQL)).to_csv(
        rf'{
     saveDataFilePath}\{
     tablesName}.csv', index=False, encoding='utf-8')

四、创建表与插入数据

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值