分享

python操作SQL综合案例

 网摘文苑 2022-12-17 发布于新疆

安装pymysql:

pip install pymysql

python操作SQL综合案例

创建到MySQL的数据库链接

from pymysql import Connection# 获取到MySQL数据库的链接对象conn = Connection( host='localhost', # 主机名(或IP地址) port=3306, # 端口,默认3306 user='root', # 账户名 password='123456' # 密码)# 打印MySQL数据库软件信息print(conn.get_server_info())# 关闭到数据库的链接conn.close()

执行SQL语句

# 执行非查询性质SQL# 获取游标对象cursor = conn.cursor()# 选择数据库conn.select_db('test')# 使用右边对象,执行sql语句cursor.execute('create table test_pymysql(id INT, info VARCHAR(255));')
# 执行查询性质SQL# 获取游标对象cursor = conn.cursor()# 选择数据库conn.select_db('world')# 使用游标对象,执行sql语句cursor.execute('select * from student;')# 获取查询结果results: tuple = cursor.fetchall()for r in results: print(r)

commit 提交

# 获取游标对象cursor = conn.cursor()# 选择数据库conn.select_db('world')# 使用游标对象,执行sql语句cursor.execute('insert into student values(10001,'小兰花',21);')# 通过commit确认conn.commit()

案例需求:

把面向对象案例中的数据集,用python语言,读取数据,将数据写入MySQL的功能

首先新建一个数据库来使用,数据库名称:py_sql

基于数据结构,得到建表语句:

create database py_sql charset utf8;use py_sql;CREATE TABLE orders( order_date DATE, order_id VARCHAR(255), money INT, province VARCHAR(10));

代码main.py:另外的模块还是和之前的一样

from file_define import FileReader, TextFileReader, JsonFileReadrfrom data_define import Recordfrom pymysql import Connectiontext_file_reader = TextFileReader('D:/rfpython/2011年1月销售数据.txt')json_file_reader = JsonFileReadr('D:/rfpython/2011年2月销售数据JSON.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# 构建MySQL链接对象conn = Connection(    host='localhost',   # 主机名(或IP地址)    port=3306,          # 端口,默认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_date,order_id,money,province)'\          f'values('{record.date}','{record.order_id}',{record.money},'{record.province}')'    # 执行SQL语句    cursor.execute(sql)# 关闭MySQL链接对象conn.close()

运行:

python操作SQL综合案例

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多