电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Python操控mysql批量插入數(shù)據(jù)的實(shí)現(xiàn)方法

瀏覽:9日期:2022-07-07 09:05:56

在Python中,通過pymysql模塊,編寫簡(jiǎn)短的腳本,即方便快捷地控制MySQL數(shù)據(jù)庫(kù)

一、連接數(shù)據(jù)庫(kù)

使用的函數(shù):pymysql.connect

語法:db=pymysql.connect(host=’localhost’,user=’root’,port=3306,password=’Your password’,db=’database_name’)

Python操控mysql批量插入數(shù)據(jù)的實(shí)現(xiàn)方法

參數(shù)說明:host:MySQL服務(wù)器地址 user:用戶名 password:MySQL登錄密碼 port:MySQL服務(wù)器端口號(hào) db:需要連接的數(shù)據(jù)庫(kù)名通常服務(wù)器地址、用戶名、端口號(hào)都是上述的默認(rèn)值

二、創(chuàng)建表

連接完數(shù)據(jù)庫(kù)后,我們需要使用db.cursor()獲取數(shù)據(jù)庫(kù)的操作游標(biāo)

cur=db.cursor()

接著使用execute()語句即可執(zhí)行SQL語句.我們以創(chuàng)建學(xué)生成績(jī)表來進(jìn)行演示:

import pymysqldb=pymysql.connect(host=’localhost’,user=’root’,password=’123456’,port=3306,db=’work1’)cur=db.cursor() ##獲取游標(biāo)sql=’create table grade(id varchar(10),name varchar(10),age int,score int,class varchar(10))’cur.execute(sql)

打開Navicat查看表的情況如下:

Python操控mysql批量插入數(shù)據(jù)的實(shí)現(xiàn)方法

學(xué)生成績(jī)表創(chuàng)建成功!

三、批量插入數(shù)據(jù)

創(chuàng)建完表后,接下來就是插入數(shù)據(jù)…而插入數(shù)據(jù)又可以分為兩種方式:按行插入和一次性,我們將依次介紹。

按行插入

id=[’101’,’102’,’103’,’104’,’105’,’106’,’107’,’108’,’109’,’110’]name=[’諸葛亮’,’劉備’,’周瑜’,’張飛’,’關(guān)羽’,’呂布’,’貂蟬’,’黃忠’,’馬超’,’典韋’]age=[28,30,27,26,28,28,24,26,23,18]score=[89,56,78,60,40,33,90,95,86,82]class_=[’一班’,’一班’,’一班’,’二班’,’二班’,’二班’,’三班’,’三班’,’三班’,’三班’]sql=’insert into grade values(%s,%s,%s,%s,%s)’for i in range(0,len(id)): cur.execute(sql,(id[i],name[i],age[i],score[i],class_[i]))db.commit() #一定要提交數(shù)據(jù)!!不然在數(shù)據(jù)庫(kù)中是沒有數(shù)據(jù)顯示的

一次性插入

data=((id[i],name[i],age[i],score[i],class_[i]) for i in range(0,len(id)))sql=’insert into grade values(%s,%s,%s,%s,%s)’cur.executemany(sql,data)db.commit()

插入數(shù)據(jù)后,表grade內(nèi)容如下:

Python操控mysql批量插入數(shù)據(jù)的實(shí)現(xiàn)方法

四、更多

根據(jù)以上步驟,我們可知只要在execute語句中放入相應(yīng)的SQL語句,即可實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的各種操作。而在pymysql中實(shí)現(xiàn)查詢數(shù)據(jù)操作后,還需通過對(duì)游標(biāo)對(duì)象使用.fetchall()方法來返回查詢結(jié)果。

查詢目標(biāo):篩選出各班的平均分并以降序進(jìn)行排列

sql=’select class,avg(score) from grade group by class order by avg(score) desc’cur.execute(sql)rst=cur.fetchall()print(rst)

Python操控mysql批量插入數(shù)據(jù)的實(shí)現(xiàn)方法

從輸出結(jié)果可知,元素是以tuple的方式進(jìn)行儲(chǔ)存的。我們可以轉(zhuǎn)為更多規(guī)范的格式查看:

import pandas as pddf=pd.DataFrame(list(rst),columns=[’班級(jí)’,’平均分’])df

Python操控mysql批量插入數(shù)據(jù)的實(shí)現(xiàn)方法

完成各項(xiàng)操作后,不要忘記斷開與數(shù)據(jù)庫(kù)的連接:

db.close()

以上就是本次分享的全部?jī)?nèi)容~

附錄:python MySQL 批量插入

在現(xiàn)實(shí)生活中,經(jīng)常會(huì)使用到Python 將信息清洗完后插入數(shù)據(jù)庫(kù),但一條條插入勢(shì)必速度效率跟不上,此時(shí)將需要使用批量插入的思維。

# coding:utf-8import pymysql # 打開數(shù)據(jù)庫(kù)連接db = pymysql.connect(host=’localhost’, port=3306, user=’username’, passwd=’password’, db=’database_name’, charset=’utf8’) # 使用cursor()方法獲取操作游標(biāo)cursor = db.cursor() # SQL 插入語句sql = 'INSERT INTO EMPLOYEE(FIRST_NAME, AGE, SEX) VALUES (%s,%s,%s)'# 一個(gè)tuple或者listT = ((’xiaoming’, 31, ’boy’), (’hong’, 22, ’girl’), (’wang’, 90, ’man’)) try: # 執(zhí)行sql語句 cursor.executemany(sql, T) # 提交到數(shù)據(jù)庫(kù)執(zhí)行 db.commit()except : # 如果發(fā)生錯(cuò)誤則回滾 db.rollback()# 關(guān)閉游標(biāo)cursor.close()# 關(guān)閉數(shù)據(jù)庫(kù)連接db.close()

到此這篇關(guān)于Python操控mysql批量插入數(shù)據(jù)的實(shí)現(xiàn)方法的文章就介紹到這了,更多相關(guān)Python mysql批量插入數(shù)據(jù)內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 湿地保护| 章丘丰源机械有限公司 - 三叶罗茨风机,罗茨鼓风机,罗茨风机 | 危废处理系统,水泥厂DCS集散控制系统,石灰窑设备自动化控制系统-淄博正展工控设备 | 飞利浦LED体育场灯具-吸顶式油站灯-飞利浦LED罩棚灯-佛山嘉耀照明有限公司 | 动库网动库商城-体育用品专卖店:羽毛球,乒乓球拍,网球,户外装备,运动鞋,运动包,运动服饰专卖店-正品运动品网上商城动库商城网 - 动库商城 | 青岛侦探_青岛侦探事务所_青岛劝退小三_青岛调查出轨取证公司_青岛婚外情取证-青岛探真调查事务所 | PE拉伸缠绕膜,拉伸缠绕膜厂家,纳米缠绕膜-山东凯祥包装 | 电池高低温试验箱-气态冲击箱-双层电池防爆箱|简户百科 | 聚氨酯催化剂K15,延迟催化剂SA-1,叔胺延迟催化剂,DBU,二甲基哌嗪,催化剂TMR-2,-聚氨酯催化剂生产厂家 | 私人别墅家庭影院系统_家庭影院音响_家庭影院装修设计公司-邦牛影音 | 沈阳真空机_沈阳真空包装机_沈阳大米真空包装机-沈阳海鹞真空包装机械有限公司 | 武汉天安盾电子设备有限公司 - 安盾安检,武汉安检门,武汉安检机,武汉金属探测器,武汉测温安检门,武汉X光行李安检机,武汉防爆罐,武汉车底安全检查,武汉液体探测仪,武汉安检防爆设备 | SDI车窗夹力测试仪-KEMKRAFT方向盘测试仪-上海爱泽工业设备有限公司 | 钢格板|热镀锌钢格板|钢格栅板|钢格栅|格栅板-安平县昊泽丝网制品有限公司 | 大米加工设备|大米加工机械|碾米成套设备|大米加工成套设备-河南成立粮油机械有限公司 | 临时厕所租赁_玻璃钢厕所租赁_蹲式|坐式厕所出租-北京慧海通 | PU树脂_水性聚氨酯树脂_聚氨酯固化剂_聚氨酯树脂厂家_宝景化工 | 山东钢格板|栅格板生产厂家供应商-日照森亿钢格板有限公司 | 齿轮减速机_齿轮减速电机-VEMT蜗轮蜗杆减速机马达生产厂家瓦玛特传动瑞环机电 | 台湾阳明固态继电器-奥托尼克斯光电传感器-接近开关-温控器-光纤传感器-编码器一级代理商江苏用之宜电气 | 线粒体膜电位荧光探针-细胞膜-标记二抗-上海复申生物科技有限公司 | 有源电力滤波装置-电力有源滤波器-低压穿排电流互感器|安科瑞 | 深圳3D打印服务-3D打印加工-手板模型加工厂-悟空打印坊 | 成都热收缩包装机_袖口式膜包机_高速塑封机价格_全自动封切机器_大型套膜机厂家 | 威廉希尔WilliamHill·足球(中国)体育官方网站 | 冷轧机|两肋冷轧机|扁钢冷轧机|倒立式拉丝机|钢筋拔丝机|收线机-巩义市华瑞重工机械制造有限公司 | Trimos测长机_测高仪_TESA_mahr,WYLER水平仪,PWB对刀仪-德瑞华测量技术(苏州)有限公司 | 风信子发稿-专注为企业提供全球新闻稿发布服务 | 永嘉县奥阳陶瓷阀门有限公司 | 致胜管家软件服务【在线免费体验】 | 中控室大屏幕-上海亿基自动化控制系统工程有限公司 | 对夹式止回阀厂家,温州对夹式止回阀制造商--永嘉县润丰阀门有限公司 | 电动高压冲洗车_价格-江苏速利达机车有限公司| 济南拼接屏_山东液晶拼接屏_济南LED显示屏—维康国际官网 | 柔性输送线|柔性链板|齿形链-上海赫勒输送设备有限公司首页[输送机] | 主题班会网 - 安全教育主题班会,各类主题班会PPT模板 | 棕刚玉_白刚玉_铝酸钙-锐石新材料| 美国查特CHART MVE液氮罐_查特杜瓦瓶_制造全球品质液氮罐 | 座椅式升降机_无障碍升降平台_残疾人升降平台-南京明顺机械设备有限公司 | 杭州网络公司_百度SEO优化-外贸网络推广_抖音小程序开发-杭州乐软科技有限公司 | 定时排水阀/排气阀-仪表三通旋塞阀-直角式脉冲电磁阀-永嘉良科阀门有限公司 |