Python 如何实现数据库表结构同步
作者:Wu_Candy 发布时间:2024-01-21 16:38:44
标签:python,数据库,表,结构同步
近日,某个QQ 群里的一个朋友提出一个问题,如何将一个DB 的表结构同步给另一个DB。
针对这个问题,我进行了思考与实践,具体的实现代码如下所示:
# coding:utf-8
import pymysql
dbDict = {"test1":"l-beta.test1"}
dbUser = "test"
dbPassword = "123456"
class DBUtils():
def __init__(self):
self.conn = pymysql.connect(dbDict['test1'], dbUser, dbPassword)
self.cursor = self.conn.cursor()
def dbSelect(self, sql):
print("------------------------------------")
print(sql)
resultList = []
self.cursor.execute(sql)
result = self.cursor.fetchall()
columns = self.cursor.description
for val in result:
tempDict = {}
for cloNum in range(len(columns)):
tempDict[str(columns[cloNum][0])] = val[cloNum]
resultList.append(tempDict)
print("---------------------打印查询结果----------------------")
print(resultList)
self.dbClose()
return resultList
def dbExcute(self, sql):
print(sql)
self.cursor.execute(sql)
self.dbClose()
def dbClose(self):
self.conn.commit()
self.cursor.close()
self.conn.close()
if __name__ == "__main__":
test = DBUtils()
result = test.dbSelect("select table_name from information_schema.tables where table_schema='testdb1'")
for dict1 in result:
test = DBUtils()
create_table_sql = "create table testdb.%s as select * from testdb1.%s" % (dict1['table_name'],dict1['table_name'])
print(create_table_sql)
test.dbExcute(create_table_sql)
示例代码操作简单,通俗易懂,所以没有过多的注释,如有疑问的小伙伴们,可在文章下方评论。
来源:https://www.cnblogs.com/Wu13241454771/p/13613658.html


猜你喜欢
- 在停止和开始进度条的同时,将进度条清空的动作也是常常需要用到的。具体用法如下:self.progressBar = QProgressBar
- 要绘制单个点,可使用函数scatter(),并向其传递一对x和y坐标,它将在指定位置绘制一个点:"""使用sc
- 1、使用cmd打开命令行窗口。2、在输入python时,进入python交互模式。3、输入exit(),退出交互模式,在命令行模式下运行.p
- 但Insus.NET想到的是,从下面的SQL语句,就可以查询到数据库大小。因此分享于此。 代码如下:SELECT DB_NAME
- 信息安全的核心就是数据库的安全,也就是说数据库加密是信息安全的核心问题。数据库数据的安全问题越来越受到重视,数据库加密技术的应用极大的解决了
- 在项目文件中新建文件.env .env.pro 两个文件其中.env 是默认设置 .env.pro 为正式环境设置1、设置.env中的内容信
- 先看看单条 SQL 语句的分页 SQL 吧。 方法1: 适用于 SQL Server 2000/2005 代码如下:SELECT TOP 页
- python 对excel的 读入 与 改写(对比xlwt、openpyxl、xlrd)xlwt不支持写xlsx文件。openpyxl不支持
- 一、给定一个日期值,求出此日期所在星期的星期一和星期天的日期数据 例如给定一个日期 2010-09-01,求出它所在星期的星期一是2010-
- 前天不小心把硬盘格式化了,丢了好多照片,后来用Recuva这款软件成功把文件恢复过来,可是恢复的文件中有好多重复的文件和无法打开的图片,所以
- 本文用python写了一个会员管理系统,供大家参考,具体内容如下:"""后台管理员前台会员信息系统1.后台管理
- 对 current_datetime 的一次赋值操作:def current_datetime(request): now =
- numpy 中 的random模块有多个函数用于生成不同类型的随机数,常见的有 uniform、rand、random、randint、ra
- 不知不觉已经在家两个月了,眼看马上春节就要来临了。满怀期待的写了一个新年倒计时的小工具!设置新年时间后都能够使用,打开软件后可以自动计算到新
- 在使用ASP来进行后端的数据合法性校验的时候,有些人为满足不同环境下面的数据校验,编写了很多的函数来实现,比如,我们想要校验用户输入的URL
- 安装MySQL假设你把所有必须的源码或者包都放在了/tmp下。如果你下载的是RPM包的话,那比较简单;如果你下载的是二进制包(你没有rpm程
- 如下dataframe想要删除多层indextop1000[:10]namesexbirthsyearpropyearsex1880F0Ma
- 作者:Dmitry @ Usability Post 版权所有 Copyright.译者:明月星光 @ UCD翻译小组原文:ht
- 这篇文章主要介绍了简单了解Python3 bytes和str类型的区别和联系,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的
- 通过指定pandas.DataFrame和pandas.Series的index(下标),可以选择和获取行/列或元素的值。根据[]中指定的值