python数据库迁移数据对比

需求:老数据库表test部分字段拆分为多个字段插入到新数据库表test_new,需要比对拆分是是否有数据丢失
实现:

一、Python连接数据库工具MySQLdb

1、安装MySQLdb
pip install MySQL-python

备注:如果Python版本为Python 3,使用如下安装方式
pip3 install MySQL client

2、连接数据库
引入模块
import MySQLdb

连接
db = MySQLdb.connect("host_name", "user_name", "password", "database_name", charset='utf8' )

3、查询操作前,先获取游标
cur = db.cursor()

4、通过游标执行SQL语句

sql_select_test = "SELECT * FROM test"
cursor.execute(sql_select_test)
test_app_results    = cursor.fetchall()
        #遍历数据
    for test_info  in test_app_results:
        test_info_params_1      = test_info[1]

5、若是插入数据,必须执行commit
db.commit()

6、数据库操作完成后,关闭连接
cursor.close()
db.close()

二、迁移数据对比
1、老表字段value值修改
(1)通过其他字段确定新表中对应老表的具体数据;
(2)除已修改字段外,其他字段应该完全保持一致;
(3)该字段若为唯一不可重复字段(主键),查询整张表中或者在迁移过程中是否有重复数据;

2、新表中新增字段
(1)新增字段是否有默认值;
例子:参数默认值为0,但数据库中存入了空字符
(2)新增字段类型是否正确:int、string、float
例子:参数类型为varchar(128),限制了总字数,但需求中字符串字数并未做限制

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容