综合案列(SQL&pymysql)
使用SQL语句和pymysql库完成综合案例的开发
案例需求
数据内容
DDL定义
本次需求开发需要新建一个数据库来使用,数据库名称:py_sql
基于数据结构,可以得到建表语句:
create table orders(
order_date data,
order_id,varchar(255),
money int,
province varchar(10)
);
create database py_sql charset utf-8;
use py_sql
create table orders(
order_date data,
order_id varchar(255),
money int,
province varchar(10)
);
实现步骤
from file_define import TextFileReader,JsonReader
from data_define import Record
from pymysql import Connection
text_file_reader = TextFileReader("D:/2011年销售数据.txt")
json_file_reader = jsonFileReader("D:/2011年2月销售数据JSONt.txt")
jan_data:list[Record] = text_file_reader_read_data()
feb_data:list[Record] = json_file_reader.read_data()
# 将2个月份的数据合并为1个list来存储
all_data:list[Record] = jan_data + feb_data
print(all_data)
# 构建MySQL链接对象
conn = Connection(
host = "localhost",
port = 3306,
user = "root",
password = "123456"
autocommit = True
)
# 获得游标对象
cursor = conn.cursor()
# 选择数据库
conn.select_db("py_sql")
# 创建SQL语句
for record in all_data:
sql = f"insert into orders(order_data,order_id,money,province) values('{record.date}','{record.order_id}',{record.money},'{record.province}')"
# 执行SQL语句
coursar.execute(sql)
#关闭MySQL链接对象
conn.close()