最新公告
  • 欢迎您光临AA分享网,一个高级程序员的学习、分享的分享平台!立即加入我们
  • PyMySQL要增删改查要怎么做?

    在众多数据库当中,我们比较熟悉的就是MySQL。MySQL也是当前较为流行的关系型数据库。但是很多人在使用MySQL进行增删改查时,不知道要怎么做。经常使用MySQL数据库的人都清楚,想要进行这个操作还是非常简单的,只需要简单的两步即可完成,即连接数据库,同时在读取CSV文件时,导入数据表;然后将查询数据,并将数据表和计算结果导出为
    CSV 文件。以下是详细操作过程:

      Step1: 安装 PyMySQL 模块

    在正式动手之前,我们需要先安装 PyMySQL 模块。

      (1)使用 pip 安装, 清华镜像:

    pip install -i https://xxx pymysql

      (2)使用 conda 安装

    conda install pymysql

      Step2: 从 CSV 文件导入数据到 MySQL 数据表

    安装好以后,我们来进行第二步操作,从 CSV 文件导入数据到 MySQL 数据表。与内置的 SQLite 模块一样, PyMySQL 也遵循
    DB-API 规范,因此我们前面开发的大多数代码经过简单修改即可使用,以下代码中主要注释了与 SQLite 操作的不同之处。

    # 导入 pymysql 模块

    import pymysql

    # 连接数据库, 这里需要提供许多参数给 connect 方法

    # host 服务器ip地址

    # user 用户名 password 密码

    # db 数据库名称

    cn = pymysql.connect(host='localhost', user='pandas', password='pandas',
    db='pandas')

    # port 端口 缺省值为 3306

    # 新建游标对象 :和 SQLite 一样

    cur = cn.cursor()

    # 建表SQL语句, 小技巧: if not exists 不会引起表已经存在的错误

    # MySQL 使用的是 auto_increment , 注意有个下划线

    artist_create_table = """

    create table if not exists artist(

    id integer primary key auto_increment not null,

    name varchar(255)

    )

    """

    try:

    cur.execute(artist_create_table)

    print(" 成功建表 ")

    except:

    pass

    # 插入语句 , 使用 %(id)s 意味着我们会用字典对象替换数据

    # PyMYSQL 使用的语法是 %(名称)s

    artist_insert ="""

    insert into artist(id, name) values ( %(id)s, %(name)s )

    """

    # 以下代码和 SQLite 一样

    # 导入 csv 模块

    import csv

    # 用 with 语法, 打开文件

    with open('artist.csv', newline='') as csvfile:

    # 用 DictReader 类, 方便开发

    reader = csv.DictReader(csvfile)

    # 按行遍历csv 文件

    for row in reader:

    try:

    # 按行执行 SQL 语句, 注意, 这里使用 字符串的format方法将数据替换进去

    # 如果可以相信数据的安全性可以这样做, 如果数据来自互联网, 需要用另一种更加安全的方式

    cur.execute(artist_insert, {"id": row['id'], "name": row['name'] } )

    except Exception as e:

    print(e)

    print(" 成功导入 CSV 数据" )

    # 提交事务

    cn.commit()

    # 关闭数据库

    cn.close()

    Step3: 将数据表与计算结果导出为 CSV 文件

    接下来我们使用 execute 方法获取数据,然后输出到 CSV 文件,与 SQLite 代码类似:

    # 导入 pymysql 模块

    import pymysql

    # 连接数据库

    cn = pymysql.connect(host='localhost', user='pandas', password='pandas',
    db='pandas')

    # 新建游标对象

    cur = cn.cursor()

    # 用 with语法打开文件

    with open("artist_data.csv", 'w') as csvfile:

    # 首先读取 description 写入 CSV 的第一行

    # 执行 SQL 语句

    results= cur.execute("select * from artist")

    # 获得 description

    description = cur.description

    # 新建 CSV writer 对象

    writer = csv.writer(csvfile)

    # 写入列名称

    writer.writerow([ x[0] for x in description ] )

    # 遍历数据

    for row in cur:

    # 写入每一行数据

    writer.writerow(row)

    print(" 成功写入 CSV 文件")

    通过上述介绍,PyMySQL要增删改查要怎么做相信大家已经清楚了吧,想了解更多关于PyMySQL数据库的信息,请继续关注。

    AA分享网一个高级程序员的学习、分享的IT资源分享平台
    AA分享网-企业网站源码-PHP源码-网站模板-视频教程-IT技术教程 » PyMySQL要增删改查要怎么做?
    • 277会员总数(位)
    • 6130资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 784稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情