定时向MySQL数据库中写入数据

将数据定时写入数据库中:

import MySQLdb
import schedule
import time

class SaveToSql(object):
    def __init__(self, conn):
        self.conn = conn

    # 储存
    def save(self):
        cursor = self.conn.cursor()
        data_list = [1804, 0, 0, 1, 0, 0, 1, 0]
        try:
            sql = "insert into ces (name_one, name_two, name_three, name_four, name_five, name_six, name_seven, name_eight) values('%s','%s','%s','%s','%s','%s','%s','%s')"% (data_list[0],data_list[1],data_list[2],data_list[3],data_list[4],data_list[5],data_list[6],data_list[7])
            cursor.execute(sql)

            print('正在写入数据: ', sql)
            rs = cursor.rowcount
            """判断数据库表中数据所影响行数是否为1,如果不是的话就进行异常抛出"""
            if rs != 1:
                raise Exception("数据插入错误.")
                self.conn.rollback()
            self.conn.commit()
        finally:
            cursor.close()

if __name__ == "__main__":
    conn = MySQLdb.connect(
                        host = 'localhost',
                        port = 3306,
                        user = 'database_username',
                        passwd = 'database_password',
                        db = 'database_name',
                        )

    def job():
        save_data = SaveToSql(conn)
        save_data.save()

    try:
        schedule.every(10).seconds.do(job)  
    except Exception as e:
        print('错误: %s'% e)

    while True:
        schedule.run_pending()
        time.sleep(5)  
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是使用 JDBC 技术将 SQL Server 和 MySQL 数据库连接起来,实现实时或定时从 SQL Server 读取数据写入MySQL 数据库的具体步骤: 1. 下载并安装 SQL Server 和 MySQL 的 JDBC 驱动程序。本步骤的具体过程请参考对应的官方文档。 2. 编写 Java 代码,使用 JDBC API 连接 SQL Server 和 MySQL 数据库。可以使用以下代码片段作为参考: ```java //加载 SQL Server 驱动 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); //连接 SQL Server 数据库 Connection sqlServerConn = DriverManager.getConnection( "jdbc:sqlserver://localhost:1433;databaseName=myDatabase", "username", "password"); //加载 MySQL 驱动 Class.forName("com.mysql.jdbc.Driver"); //连接 MySQL 数据库 Connection mySqlConn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/myDatabase", "username", "password"); ``` 3. 编写 SQL 查询语句,从 SQL Server 读取数据。可以使用以下代码片段作为参考: ```java //创建 SQL Server 查询语句 String sql = "SELECT * FROM myTable"; //创建 SQL Server 查询语句的 Prepared Statement PreparedStatement ps = sqlServerConn.prepareStatement(sql); //执行查询 ResultSet rs = ps.executeQuery(); ``` 4. 将从 SQL Server 读取到的数据写入MySQL 数据库。可以使用以下代码片段作为参考: ```java //创建 MySQL 插入语句 String sql = "INSERT INTO myTable VALUES (?, ?, ?)"; //创建 MySQL 插入语句的 Prepared Statement PreparedStatement ps = mySqlConn.prepareStatement(sql); //循环遍历 SQL Server 查询结果集 while (rs.next()) { //将查询结果集的值赋值给 MySQL 插入语句的参数 ps.setString(1, rs.getString("column1")); ps.setInt(2, rs.getInt("column2")); ps.setDate(3, rs.getDate("column3")); //执行 MySQL 插入语句 ps.executeUpdate(); } ``` 5. 关闭连接和资源。可以使用以下代码片段作为参考: ```java //关闭结果集 rs.close(); //关闭 SQL Server 连接和资源 ps.close(); sqlServerConn.close(); //关闭 MySQL 连接和资源 ps.close(); mySqlConn.close(); ``` 需要注意的是,以上仅为实现 SQL Server 和 MySQL 数据库连接并进行数据同步的基本步骤,具体实现过程可能会因具体业务需求而有所不同。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值