python sql 备份数据表

2020-04-28  本文已影响0人  隐墨留白

在改变表的值之前,一定要记得备份。

   try:
        table_backup_name = table_name + '_backup'
        print(table_backup_name)

        # 获取所有数据表名
        sql = 'show tables;'
        cursor2.execute(sql)
        result = cursor2.fetchall()
        result = [i[0] for i in result]

        # 判断备份表是否已经存在,如果存在 则删除
        if table_backup_name in result:
            print('Table {} already exists'.format(table_backup_name))
            sql = 'drop table {};'.format(table_backup_name)
            cursor2.execute(sql)

        # 创建和原表一样结构的备份表
        sql = 'create table {} like {};'.format(table_backup_name, table_name)
        cursor2.execute(sql)

        # 将数据复制到备份表
        sql = 'insert into {} select * from {};'.format(table_backup_name, table_name)
        cursor2.execute(sql)

        #第二种备份方法 但是没有主键
        # sql = 'create table td_test_point_backup select * from td_test_point;'
        # cursor2.execute(sql)
        conn2.commit()
        print(table_name)
    except Exception as e:
        print(e)
        conn2.rollback()
上一篇下一篇

猜你喜欢

热点阅读