摘要

昨天学习了使用python进行数据库主键异常的查看.
当时想我们有跨数据库的数据同步场景.
对应的我可以对不同数据库的相同表的核心字段进行对比.
这样的话能够极大的提高工作效率.
我之前写过很长时间的shell.昨天跟着同事开始学python.
感觉的确用python能够节约大量的时间.
生活中必须要挑战自己. 做更好的自己.

思路

设置一个进行数据库连接构件的function.
先将基准数据查询出来放到一个基准的list 里面
然后设置一个循环. 循环内调用此function
然后循环内将数据取出, 对基准数据进行比较.
相同则输出数据数据库实例编号. is same.
不相同输出数据库实例实例编号. is different.

dbconnection function

# coding=utf-8
# 设置编码格式 import jaydebeapi
import configparser
import datetime
# 引入需要的包 config = configparser.ConfigParser()
# 定义配置对象
config.read('su.ini',encoding='utf-8')
def getconn(dbinstance) :
# 读取配置文件 形参传入信息
jdbcString = config.get(dbinstance,'jdbcString')
driverPath = config.get(dbinstance,'driverPath')
urlString = config.get(dbinstance,'urlString')
userName = config.get(dbinstance,'userName')
passWord = config.get(dbinstance,'passWord')
conn = jaydebeapi.connect(jdbcString,urlString,[userName,passWord],driverPath)
return conn

dbcompare function

# coding=utf-8

import jaydebeapi
import configparser
import datetime
import dbconnection conn = dbconnection.getconn('bf')
getsql="select id,code from xxxuser order by code "
cur = conn.cursor()
cur.execute(getsql)
usercode = cur.fetchall() for i in ['DB01','DB02','DB03','DB04','DB05'] :
conntest = dbconnection.getconn(i)
curtest = conntest.cursor()
curtest.execute(getsql)
usercodetest = curtest.fetchall()
print(str(i))
if usercode == usercodetest:
print("User Code is Same")
else:
print("User Code is Different")
for i in usercode :
print(str(i[0]) + " " + str(i[1]))

Python学习之二:不同数据库相同表是否相同的比较方法的更多相关文章

  1. mysql 复习与学习(二)数据库及表结构的创建删除

    mysql -h localhost -uroot -p123456 //连接数据库 show databases; //查看数据库 create database if not exists db_ ...

  2. PHP中的MySQLi扩展学习(二)mysqli类的一些少见的属性方法

    虽说是少见的一些属性方法,但是可能还是有不少同学在日常的开发中使用过,这里只是学习了可能相对来说我们用得比较少的一些 mysqli 的属性或方法.就当是扩展一下自己的知识体系. 切换用户 首先就是切换 ...

  3. Python学习(十七)—— 数据库(二)

    转载自http://www.cnblogs.com/linhaifeng/articles/7356064.html 一. 数据库管理软件的由来 基于我们之前所学,数据要想永久保存,都是保存于文件中, ...

  4. MySQL学习总结(二)数据库以及表的基本操作

    上一节中详细的介绍了关于MySQL数据库的安装过程,接下来我们就该对数据库以及表进行一些基本的操作了. 1.数据类型 MySQL数据库中提供了整数类型.浮点数类型.定点数类型.日期和时间类型.字符串类 ...

  5. [Python] 学习笔记之MySQL数据库操作

    1 Python标准数据库接口DB-API介绍 Python标准数据库接口为 Python DB-API,它为开发人员提供了数据库应用编程接口.Python DB-API支持很多种的数据库,你可以选择 ...

  6. Python学习笔记21:数据库操作(sqlite3)

    Python自带一个轻量级的关系型数据库SQLite.这一数据库使用SQL语言. SQLite作为后端数据库,能够搭配Python建站点,或者制作有数据存储需求的工具. SQLite还在其他领域有广泛 ...

  7. 编程语言与Python学习(二)

    1.1 流程控制之for循环 1 迭代式循环:for,语法如下 for i in range(10): 缩进的代码块 2 break与continue(同上) 3 循环嵌套 for i in rang ...

  8. python学习笔记(二)、字符串操作

    该一系列python学习笔记都是根据<Python基础教程(第3版)>内容所记录整理的 1.字符串基本操作 所有标准序列操作(索引.切片.乘法.成员资格检查.长度.最小值和最大值)都适用于 ...

  9. Python学习笔记六:数据库操作

    一:Python操作数据库的流程 二:开发环境准备 1:开发工具PyCharm 2:Python操作mysql的工具:需要安装Python-Mysql Connector,网址:https://sou ...

  10. Python学习(二)Python 简介

    Python 简介 官方指南及文档 Python2.7官方指南(中文版):http://pan.baidu.com/s/1dDm18xr Python3.4官方指南(中文版):http://pan.b ...

随机推荐

  1. DTT年度收官圆桌π,华为云8位技术专家的年末盘点

    摘要:收下这份DTT年度收官圆桌π总结,在新的一年心想事成,技术上更上一层楼. 本文分享自华为云社区<DTT年度收官圆桌π,华为云8位技术专家的年末盘点>,作者:华为云社区精选 . 在20 ...

  2. 华为云构建云原生DevSecOps平台,保障软件供应链全流程安全可信

    摘要:面临网络安全挑战的大环境下,华为云构筑的云原生DevSecOps平台,打造了创新可控的安全服务,助力企业软件供应链全生命周期安全. 2022年8月13日,"2022中国DevOps社区 ...

  3. GaussDB(DWS) NOT IN优化技术解密:排他分析场景400倍性能提升

    摘要:本文针对8.1.2版本中的NOT IN场景的Mixed-HashJoin新技术进行介绍.该技术在GaussDB(DWS)与招商银行的联创项目中落地,为招商银行的批量作业带来了总体15%的性能提升 ...

  4. Python 可以满足你任何 API 使用需求

    摘要:在本教程中学到的概念和技术将允许您使用自己喜欢的任何 API 进行练习,并使用 Python 来满足您可能拥有的任何 API 使用需求. 本文分享自华为云社区<Python 和 API:读 ...

  5. Spring Boot 整合 Camunda 实现工作流

    工作流是我们开发企业应用几乎必备的一项功能,工作流引擎发展至今已经有非常多的产品.最近正好在接触Camunda,所以来做个简单的入门整合介绍.如果您也刚好在调研或者刚开始计划接入,希望本文对您有所帮助 ...

  6. C++右值引用与转移语义简要介绍

    在 C++11 之前,值类型变量的传递会导致把它完整的拷贝一份 比如说把一个 vector 作为函数返回值赋值给某个局部变量,他就会调用 vector 的拷贝构造函数创建一个完整的副本,把这个副本作为 ...

  7. Spring Boot 2.x :日志框架@Slf4j的使用和logback文件配置

    为什么是SLF4J? 默认情况下,Spring Boot会用SLF4J + Logback来记录日志,并用INFO级别输出到控制台. 怎么使用SLF4J? 如果我们在一个Spring Boot 的程序 ...

  8. 关于 Serverless 应用架构对企业价值的一些思考

    作者:寒斜 前言 对于企业方而言,最关心的核心诉求就是如何能获取更多的营收,更高的利润,通俗点说就是如何赚更多的钱:企业赚钱的方式主要是通过出售企业服务,当用户购买更多的企业服务,企业赚的钱就越多:而 ...

  9. vue+iviews 动态表格(table组件)

    iviews官网上关于table的使用方法是固定表头的使用方法,如何生成动态的table网上找了好多也没有特别合适的,综合几位博主的文章经过尝试终于实现了,分享出来供大家参考 一.先看官网上的样例 官 ...

  10. 七、手动制作docker镜像

    系列导航 一.docker入门(概念) 二.docker的安装和镜像管理 三.docker容器的常用命令 四.容器的网络访问 五.容器端口转发 六.docker数据卷 七.手动制作docker镜像 八 ...