SQL学习小记(三)

SQL学习小记(三)

  • 功能实现
    • 思路
    • 代码
    • 部分名词解释
  • 代码打包为可执行文件

功能说明:使用python代码,将数据库database1中的表格table1同步到数据库database2中

功能实现

思路

数据更新
数据库连接
数据库连接
成功
失败
成功
存在
不存在
不空
database2中表是否为空
打印信息,表已存在
建表,表头信息
清空表
向database2插入数据
返回数据库
数据库是否连接成功
表是否存在
程序启动
数据更新
关闭数据库

假设 database1database2的信息分别为:

IP地址端口号用户名密码数据库名
database110.10.0.07890root1123456database1
database210.10.0.17891root2123456database2

代码

import schedule
import time
from datetime import datetime, timedelta
import sqlite3
import pymysql
# 数据库连接
def mysql_link(host, port, user, password, db):
    try:
        db = pymysql.connect(host=host,  # IP地址
                             port=port,  # 端口号
                             user=user,  # 用户名
                             password=password,  # 密码
                             db=db,  # 数据库名
                             charset='utf8')# 文本数据编码方式
        return db		#返回数据库
    except:
        print("could not connect to mysql server") # 没有连接到数据库
# 数据库更新
def update_database():
    # 连接到数据库
    # 更新数据库table1
    # conn_a和cursor_b 为数据库对象
    conn_a = mysql_link("10.10.0.0", 7890, "root1", "123456", "database1")  # database1数据库
    cursor_a = conn_a.cursor()	# cursor_a的游标
    conn_b = mysql_link("10.10.0.1", 7891, "root2", "123456", "database2")  # database2数据库
    cursor_b = conn_b.cursor()  # cursor_b的游标
    # 判断表是否存在
    table_name = 'table1'
    conn_b_db = 'database2'
    query = "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = %s AND TABLE_NAME = %s"
    cursor_b.execute(query, (conn_b_db, table_name))	# 在数据库conn_b_db的表table_name中查询query
    existing_table = cursor_b.fetchone()	# 查询结果中提取下一行数据
    if existing_table:
        print(f"Table '{table_name}' already exists.")
    else:
        # 不存在时创建表结构
        cursor_b.execute("CREATE TABLE table1("
                         "id varchar(32) PRIMARY KEY, name longtext , old longtext, year longtext, "
                         "sex longtext, score longtext, score2 longtext, score3 longtext,total_points longtext)")
        # 提交更改
        conn_b.commit()
        print(f"Table '{table_name}' created.")
    cursor_a.execute("SELECT * FROM table1")
    cursor_b.execute("SELECT * FROM table1")
    result = cursor_b.fetchone()
    if result:
        cursor_b.execute("TRUNCATE TABLE table1")	# 清空表
    rows = cursor_a.fetchall()
    for row in rows:
        cursor_b.execute("INSERT INTO table1VALUES (%s, %s, %s,%s,%s,%s, %s,%s,%s) ", row)
    conn_b.commit() 	# 提交更改
    conn_b.close()		# 关闭数据库
    conn_a.close()
if __name__ == '__main__':
    update_database()	# 数据库更新

部分名词解释

数据库游标(cursor)是用来在数据库连接上执行SQL查询和操作的对象。当建立了数据库连接之后,可以使用游标来执行各种数据库操作,如查询数据、插入数据、更新数据和删除数据
游标本质上是一个指针,它指向数据库中的某个位置,可以遍历查询结果集中的各行数据。通过游标,可以执行SQL语句,检索并处理查询结果,以及提交更改到数据库中。

代码打包为可执行文件

pyinstaller 是一个流行的Python打包工具,它可以将Python代码打包成独立的可执行文件。

首先进行pyinstaller安装:win+R——>cmd——> 确定
在终端输入:

pip install pyinstaller

使用pyinstaller打包Python代码非常简单,只需要在命令行中输入以下命令:

pyinstaller test.py

压缩成功之后,在py文件所在文件夹里面会出现一些文件夹和文件,其中生成的exe可执行文件在dist中,exe的图表如下所示:
在这里插入图片描述
参考:6种将Python代码打包成exe应用的方式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/653325.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

19.单目测距原理介绍

文章目录 相机成像模型的再次介绍单目测距的几何原理reference 欢迎访问个人网络日志🌹🌹知行空间🌹🌹 根据相机成像的原理,在满足一定约束条件下,理论上是可以根据目标点的像素坐标计算出其对应的深度信息…

文献解读-群体基因组第一期|《对BMI的影响:探究BMI的基因型-环境效应》

关键词:应用遗传流行病学;群体测序;群体基因组;基因组变异检测; 文献简介 标题(英文):The Impact of ACEs on BMI: An Investigation of the Genotype-Environment Effects of BMI标…

python Windows电脑设置定时启动程序,定时运行代码

Windows设置定时 一,新建文件txt, .txt改为.bat 路径填exe的路径D:\test\main.py 如下是启动exe,如果运行python代码则写入如:python D:\test\main.py 二,搜索计算机管理 三,点击创建基本任务 填写任意名称 选择什么时候开始…

“智能体时代:探索无限可能——零代码构建智能教练智能体“

随着智能体技术的飞速发展,各个领域正经历着空前的变革和新的发展机遇。作为人工智能的一个关键组成部分,智能体以其自我驱动、智能响应和适应能力,逐渐深入到我们日常生活的各个层面,成为促进社会发展和科技进步的新引擎。 顺应这…

adb获取包名和界面名

adb获取包名和界面名 mac adb shell dumpsys window windows | grep mFocusedApp windows adb shell dumpsys window windows | findstr mFocusedApp 这个是在当前手机打开哪个界面获取的就是哪个界面的包名与界面 注意第一次连接时会有提示,需要连接两次才可以 …

免费,Python蓝桥杯等级考试真题--第15级(含答案解析和代码)

Python蓝桥杯等级考试真题–第15级 一、 选择题 答案:B 答案:D 解析:集合的并集运算有两种方式,一种是使用“|”运算符进行操作,另一种是使用union()方法来实现,故答案为D。 答案:A 解析&…

20212313 2023-2024-2 《移动平台开发与实践》第5次作业

20212313 2023-2024-2 《移动平台开发与实践》第5次作业 1.实验内容 设计并开发一个地图应用系统。 该实验需提前申请百度API Key,调用接口实现百度地图的定位功能、地图添加覆盖物和显示文本信息。 2.实验过程 2.1 获取SHA1 (1)打开控制台…

全网首发!精选32个最新计算机毕设实战项目(附源码),拿走就用!

Hi 大家好,马上毕业季又要开始了,陆陆续续又要准备毕业设计了,有些学生轻而易举就搞定了,有些学生压根没有思路怎么做,可能是因为技术问题,也可能是因为经验问题。 计算机毕业相关的设计最近几年类型比较多…

K8s的CRI机制是什么?

1. 概述 进入 K8s 的世界,会发现有很多方便扩展的 Interface,包括 CRI, CSI, CNI 等,将这些接口抽象出来,是为了更好的提供开放、扩展、规范等能力。 K8s CRI(Container Runtime Interface) 是 K8s 定义的一组与容器运行时进行交…

红酒与不同烹饪方法的食物搭配原则

红酒与食物的搭配是一门艺术,而不同烹饪方法的食物与红酒的搭配也有其与众不同之处。红酒与食物的搭配不仅涉及到口感、风味和营养,还与烹饪方法和食物质地等因素息息相关。云仓酒庄雷盛红酒以其卓着的品质和丰富的口感,成为了实现完善搭配的…

AI批量剪辑视频素材,高效混剪快速出片/矩阵发布,一键管理自媒体账号。

今天给大家分享一个超级好用的办公神器。特别是玩矩阵的企业,这款工具高效解决短视频剪辑问题。 这款软件可以帮你快速生产出1000条视频内容,而且还能把内容同步到多个平台账号上,多平台矩阵发布。 这款系统真的太棒了! 不仅操作简单,而且功能超强大。 …

回归自然:拥抱生态农业

在这个喧嚣的时代,我们渴望回归大自然的怀抱,享受那份纯净与安宁。广西生态农业,正是我们追寻自然、健康生活的理想选择。它摒弃了传统农业的弊端,采用环保、可持续的种植方式,为我们带来了绿色、无污染的农产品。生态…

面试八-存泄漏是什么,有哪几种,怎么解决?

一、内存泄漏几种情况 当使用基类指针指向派生类对象时,如果基类的析构函数不是虚函数,那么在使用基类指针来删除这个对象时,只会调用基类的析构函数,而不会调用派生类的析构函数。这就导致了派生类中的资源无法正确释放&#xff…

Typora图床配置优化(PicGo-Core(command line) 插件 + gitee)

Typora图床配置优化(PicGo-Core(command line) 插件 gitee) 前言 在日常使用Typora编写markdown笔记时,经常需要插入图片来帮助理解和整理逻辑。然而,由于图片保存在本地,上传到网上时经常出现图片不见或错误警告的…

工业LED显示屏汉字乱码方式的解决

目录 研究背景 解决方法 原因分析 尝试的解决方法 本质原因 写在最后 研究背景 想实现LED显示屏数字、字母、汉字均能正常显示的效果(效果如下)。在将UTF-8改为GB2312 编码之前,数字和字母不乱,但是汉字会乱码。 解决方法 1…

【Docker】Linux 系统(CentOS 7)安装 Docker

文章目录 对 VMware 软件的建议官方说明文档Docker安装卸载旧版本docker设置仓库开始安装 docker 引擎最新版 Docker 安装指定版本 Docker 安装(特殊需求使用) 启动 Docker查看 Docker 版本查看 Docker 镜像设置 Docker 开机自启动 验证开机启动是否生效…

据阿谱尔APO Research调研显示,2023年全球热喷涂涂料市场销售额约为110.37亿美元

根据阿谱尔 (APO Research)的统计及预测,2023年全球热喷涂涂料市场销售额约为110.37亿美元,预计在2024-2030年预测期内将以超过4.82%的CAGR(年复合增长率)增长。 热喷涂涂层是指将熔融或加热的金属、合金或陶瓷等材料喷…

ORCLE删除数据库文件

在实际操作中很少会去删除数据库文件,但是凡事都有例外,由于一些特殊原因,例如存储方式变化、磁盘空间不够等,需要调整和删除一些无效的数据库文件,本文介绍一下实践出来的一种删除数据库文件的操作方式。 删除前请对数…

室内也可以用北斗定位?还能用RTK?

室内卫星顾名思义,就是在室内有遮挡环境中的卫星定位技术,众所周知,目前全球几大GNSS定位系统已经很完善,但是GNSS有个致命的弱点,就是地面如果有遮挡就没有信号,在这样的条件下,在室内定位场景…

HTML大雪纷飞

目录 写在前面 HTML简介 完整代码 代码分析 运行结果 系列文章 写在后面 写在前面 小编又又又出现啦!这次小编给大家带来大雪纷飞HTML版,不需要任何的环境,只要有一个浏览器,就可以随时随地下一场大雪哦! HTM…