Python-获取数据库中创建table 的sql
Posted 小小菜_v
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python-获取数据库中创建table 的sql相关的知识,希望对你有一定的参考价值。
import pymysql
class ConnMysql(object):
def __init__(self):
"""初始化数据库连接"""
self._conn = self.get_conn()
self._cur = None
if self._conn is not None:
self._cur = self._conn.cursor()
def get_conn(self):
"""
连接数据库
:return:
"""
conn = pymysql.connect(
host="**.*.**.**", # 数据库地址
user="root", # 用户名
password="*******", # 密码
database="mysql", # 数据库名
port=31061, # 端口号
charset="utf8" # utf8
)
return conn
def list_table(self):
"""
列出所有的表
:return:
"""
self._cur.execute("show tables")
table_list = [tuple[0] for tuple in self._cur.fetchall()]
self._cur.close()
return table_list
def list_col(self, tabls_name):
"""
查询所有字段
:param tabls_name:
:return:
"""
self._cur.execute("show create table %s" % tabls_name)
col_name_list = [table for table in self._cur]
self._cur.close()
return col_name_list[0]
if __name__ == '__main__':
table_list = ConnMysql().list_table()
print(table_list)
for table in table_list:
if table == 'case':
table = '`case`'
table_name, table_create_info = ConnMysql().list_col(table)
with open("table_info.sql", 'a', encoding='gbk') as f:
f.write(table_create_info)
# f.write("-"*100)
f.write("\\n")
以上是关于Python-获取数据库中创建table 的sql的主要内容,如果未能解决你的问题,请参考以下文章
sql 在Postgresql中创建truncate_tables函数。
使用 SELECT ... INTO 在 SQL Server 中创建表