用python在MySQL中写入数据和添加数据 |
您所在的位置:网站首页 › python读取数据库表 › 用python在MySQL中写入数据和添加数据 |
在笔者之前的博文中,已介绍了用python连接与mysql数据库的知识。包括如何安装python连接mysql的pymysql包,如何通过cusor语句将python与mysql连接起来,以及如何用python查询数据库等等。 传送门:用python连接与查询mysql数据库 今天,再来说说如何用python写入数据和添加数据到mysql。 一、用python将数据写入mysql例子:现有一个格式为dataframe的数据集data,内含“编号”“商品名称”“售价”这三个变量名,共3条数据,如图所示: 现在验证数据是否已成功写入MySQL中,查询结果如下: 与用python查询数据库一样,依然是通过游标(cusor)来实现添加数据。cursor.executemany可以添加1条或多条数据。 需要注意的是,"insert into aaa values(%s,%s,%s)"中不管数据是什么类型,统一使用%s作为占位符。 在写入sql的关于水果售价的表中继续添加几行数据: #手动插入少量数据 import pymysql.cursors connection=pymysql.connect(host='localhost',port=3306,user='root',password='123',db='huanghe',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor) #通过cursor创建游标 cursor = connection.cursor() #插入数据 cursor.executemany( "insert into aaa values(%s,%s,%s)", [ (4,'orange',8), (5,'lemon',5), (6,'strawberry',15) ] ) connection.commit()添加数据后的mysql表如下: 上一种插入方法需要一个个手动输入数据,遇到大一点的数据量会马上扑街…这里提出一种批量插入大量数据的方法,但要在python中需要将这些数据存为dataframe格式,然后再添加到mysql表中。 继续在关于水果售价的表中添加更多的数据: 1、在python中将新的数据data1存为dataframe: to_sql既可以写入数据,也可以添加数据,参数“if_exists”=‘append’时可直接在原表的后面添加数据。 to_sql其他的参数说明: name: 输出的表名 con: 与read_sql中相同,数据库链接 if_exits: 三种模式:fail,若表存在,则不输出;replace:若表存在,覆盖原来表里的数据;append:若表存在,将数据写到原表的后面。默认为fail。 index:是否将df的index单独写到一列中 index_label:指定列作为df的index输出,此时index为True 总结to_sql是用python操作mysql的重要函数,批量导入增加数据比较方便。如果数据的格式比较常见,批量插入数据就用dataframe.to_sql()吧。而executemany适合手动插入少量数据,以及数据量较大的数据集格式不方便转为dataframe格式时,通过写循环插入数据。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |