SQL学习小记(三)
SQL学习小记(三)
- 功能实现
- 思路
- 代码
- 部分名词解释
- 代码打包为可执行文件
功能说明:使用python代码,将数据库database1中的表格table1同步到数据库database2中
功能实现
思路
假设 database1 和 database2的信息分别为:
IP地址 端口号 用户名 密码 数据库名 database1 10.10.0.0 7890 root1 123456 database1 database2 10.10.0.1 7891 root2 123456 database2 代码
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应用的方式
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

