首页 > 数据库 >Python获取MySQL的创建表sql到文件中

Python获取MySQL的创建表sql到文件中

时间:2022-11-07 17:44:39浏览次数:39  
标签:cur Python create MySQL sql table path TABLE

import os
import pymysql


path = r'D:\Projects\sql'
if not os.path.isdir(path):
    os.mkdir(path) 

conn = pymysql.connect(host='192.168.1.17', user='root', passwd="password", db='db1')
cur = conn.cursor()
cur.execute('''SELECT 
    TABLE_SCHEMA,TABLE_NAME
    FROM information_schema.tables
    WHERE TABLE_SCHEMA in('db1')
    ORDER BY TABLE_SCHEMA,TABLE_NAME''')
table_list = cur.fetchall()
for table in table_list:
    sql = 'show create table `{}`.`{}`'.format(table[0], table[1])
    print(sql)
    cur.execute(sql)
    create_table_list = cur.fetchall()
    create_table_sql = create_table_list[0][1]    
    create_table_sql = create_table_sql.replace('CREATE TABLE ', 'CREATE TABLE `{}`.'.format(table[0]))
    #print(create_table_sql)
    # 每个建表sql保存到一个文件
    filepath = os.path.join(path, '{}.{}.sql'.format(table[0], table[1]))
    with open(filepath, 'w') as rows:
        print(create_table_sql, file = rows)

cur.close()
conn.close()

 

标签:cur,Python,create,MySQL,sql,table,path,TABLE
From: https://www.cnblogs.com/gdjlc/p/16866821.html

相关文章

  • Flask-SQLAlchemy
    认识Flask-SQLAlchemyFlask-SQLAlchemy是一个为Flask应用增加SQLAlchemy支持的扩展。它致力于简化在Flask中SQLAlchemy的使用。SQLAlchemy是目前python中最......
  • MySQL_流程控制_分支结构
    1If结构功能:实现简单的双分支语法:IF(表达式1,表达式2,表达式3)执行顺序:如果表达式1成立,则IF函数返回表达式2的值,否则返回表达式3的值应用:任何地方 2case结构情况1......
  • 在MAC上安装mysql
    安装Mysql使用可视化界面安装方式。1、登录Mysql的官网,mysql下载的官网2、下载“社区版的Mysql”,点击下图的MysqlCommunity(GPL)Downloads。 3、然后选择MysqlCom......
  • Python基础28
    今日内容概要派生方法实战演练面向对象三大特性之封装面向对象三大特性之多态面向对象之反射反射的实战案例今日内容详细派生方法实战演练importjsonimportda......
  • MySQL_流程控制_循环结构
    分类WHILELOOPREPEAT 循环控制:Iterate类似于continue,继续,结束本次循环,继续下一次Leave类似于break,跳出,结束当前所在的循环 1WHILE语法【标签:】WHILE循环条......
  • mysql 基础之连接器
    连接器如果你在Linux操作系统里要使用MySQL,那你第一步肯定是要先连接MySQL服务,然后才能执行SQL语句连接的过程需要先经过TCP三次握手,因为MySQL是基于TCP协......
  • MySQL_存储过程_和函数
    存储过程和函数:类似于Java中的方法 好处:1提高代码的重用性2简化操作3减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率 存储过程含义一组预先......
  • MySQL_视图
    含义:(MySQL从5.0.1版本开始提供视图功能。一种虚拟存在的表,行和列的数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的,只保存了sql逻辑,不保存查询结果)......
  • python3-环境篇-03-pycharm创建python工程之hello word
     1.打开pycharm,点击【NewProject】​编辑修改【location】,选择【BaseInterpreter】 编辑选择编辑工程创建成功编辑 右击工程,选择【new】编辑创建hello文件编辑编写输......
  • MySQL_事务_回滚
    Savepoint保存点;设置保存点SETautocommit=0;STARTTRANSACTION;DELETEFROMaccountWHEREid=25;SAVEPOINTa;#设置保存点DELETEFROMaccountWHEREid=28......