SQL学习小记(三)
- 功能实现
- 思路
- 代码
- 部分名词解释
- 代码打包为可执行文件
功能实现
思路
假设 database1 和 database2的信息分别为:
IP地址 | 端口号 | 用户名 | 密码 | 数据库名 | |
---|---|---|---|---|---|
database1 | 10.10.0.0 | 7890 | root1 | 123456 | database1 |
database2 | 10.10.0.1 | 7891 | root2 | 123456 | database2 |
代码
python">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中查询queryexisting_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代码非常简单,只需要在命令行中输入以下命令:
python">pyinstaller test.py
压缩成功之后,在py文件所在文件夹里面会出现一些文件夹和文件,其中生成的exe可执行文件在dist中,exe的图表如下所示:
参考:6种将Python代码打包成exe应用的方式