利用python实现mysql数据库向sqlserver的同步

我们经常需要将大量数据保存起来以备后续使用,数据库是一个很好的解决方案。在众多数据库中,MySQL数据库算是入门比较简单、语法比较简单,同时也比较实用的一个。在这篇博客中,将以MySQL数据库为例,介绍一下如何使用Python操作数据库。本科阶段曾学过使用Java对MySQL数据库进行操作,基本思路是先连接数据库,然后执行SQL语句对数据库进行操作,最后打印结果并断开连接。使用Python操作数...
摘要由CSDN通过智能技术生成

我们经常需要将大量数据保存起来以备后续使用,数据库是一个很好的解决方案。在众多数据库中,MySQL数据库算是入门比较简单、语法比较简单,同时也比较实用的一个。在这篇博客中,将以MySQL数据库为例,介绍一下如何使用Python操作数据库。
本科阶段曾学过使用Java对MySQL数据库进行操作,基本思路是先连接数据库,然后执行SQL语句对数据库进行操作,最后打印结果并断开连接。使用Python操作数据库的流程和以上过程基本一致,在对其进行介绍之前,先介绍一些基本的概念。
话不多说,直接上代码。

#!/usr/bin/python
# -*- coding:utf8 -*-
# author: chenzhixin
"""
    一、安装环境:
        python3
        pip install pymysql
        pip install pymssql
    二、实现功能:
        将mysql的oa_2016.formmain_5027(手机打卡记录)数据,增量同步到sqlserver数据库的kaoqin.CHECKINOUT中
    三、运行方法:
        a)定时任务
            [root@oadb1 shell]# crontab -l
            * * * * *  python -W ignore /usr/local/shell/sync_mobile_kaoqin.py >> /var/log/sync_mobile_kaoqin.log 2>&1
        b) 日志位置
            tail  -f /var/log/sync_mobile_kaoqin.log
    四、测试sql:
        mysql执行
                select * from oa_2016.formmain_5027
        sqlserver上执行
                select * from CHECKINOUT where sn='手机端打卡'
"""
from contextlib import contextmanager
import pymysql as mysqldb
import pymssql as mssqldb
import time
@contextmanager
def get_mysql_conn(**kwargs):
    """
    建立MySQL数据库连接
    :param kwargs:
    :return:
    """
    conn = mysqldb.connect(host=kwargs.get('host', 'localhost'),
                        user=kwargs.get('user'),
                        password=kwargs.get('password'),
                        port=kwargs.get('port', 3306),
                        database=kwargs.get('database')
                        )
    try:
        yield conn
    finally:
        if conn:
            conn.close()
@contextmanager
def get_mssql_conn(**kwargs):
    """
 
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值