摘要

昨天学习了使用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. 以小博大外小内大,Db数据库SQL优化之小数据驱动大数据

    SQL优化中,有一条放之四海而皆准的既定方针,那就是:永远以小数据驱动大数据.其本质其实就是以小的数据样本作为驱动查询能够优化查询效率,在SQL中,涉及到不同表数据的连接.转移.或者合并,这些操作必须 ...

  2. html jquery from 表单提交 application/x-www-form-urlencoded 改成 json

    html jquery from 表单提交 $(form).ajaxSubmit  application/x-www-form-urlencoded  改成 json 要使用 jQuery 根据 n ...

  3. IntelliJ IDEA lombok log 报红

    pom文件中引用了  lombok 插件,但Intellij 代码里仍然是红色提示,具体操作如下 Mac

  4. matplotlib 图表生成

    条形颜色演示 import matplotlib.pyplot as plt ''' 将plt.subplots()函数的返回值赋值给fig和ax俩个变量 plt.subplots()是一个函数,返回 ...

  5. peewee 操作 sqlite 锁表问题分析

    在使用python orm 框架 peewee 操作数据库时时常会抛出以一个异常,具体的报错就是 database is locked 初步了解是因为sqlite锁的颗粒度比较大,是库锁.当一个连接在 ...

  6. Nginx--安装模块

    一 安装系统自带模块 #进入安装目录[root@localhost ~]# cd nginx-1.18.0/#查看原来的编译选项 [root@localhost nginx-1.18.0]# ngin ...

  7. Java 中初始化 List 的五种方法

    1.构造 List 后使用 List.add 初始化 1 List<String> stringList = new LinkedList<>(); 2 stringList. ...

  8. iview upload 上传文件样例

    iview upload 组件官网上给出的用法是,选择附件后就立马上传附件.我不想让他立马上传,我想让他和其他一些信息一起上传,百度查了一些资料照大神总结的例子实现了现在分享一下. <Uploa ...

  9. linux有用的命令

    如下是一些在工作中偶尔会用到,每次用的时候都要查一查资料的命令这里总结一下方便今后查阅 0.查看操作系统版本 cat /etc/issue  或 cat /etc/redhat-release 1.后 ...

  10. 入门 shell 从脚本开始 - lazy_find

    编写脚本实现在指定文件路径下查找文件夹或文件名.   脚本如下: #!/bin/sh # lazy find # GNU All-Permissive License # Copying and di ...