最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2020年10月27日 10:30:32   作者:皖渝  
這篇文章主要介紹了Python操控mysql批量插入數(shù)據(jù)的實(shí)現(xiàn)方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

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

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

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

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

在這里插入圖片描述

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

二、創(chuàng)建表

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

cur=db.cursor()

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

import pymysql
	db=pymysql.connect(host='localhost',user='root',password='123456',port=3	306,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查看表的情況如下:

在這里插入圖片描述

        學(xué)生成績表創(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ù)庫中是沒有數(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)容如下:

在這里插入圖片描述

四、更多

        根據(jù)以上步驟,我們可知只要在execute語句中放入相應(yīng)的SQL語句,即可實(shí)現(xiàn)對數(shù)據(jù)庫的各種操作。而在pymysql中實(shí)現(xiàn)查詢數(shù)據(jù)操作后,還需通過對游標(biāo)對象使用.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)

在這里插入圖片描述

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

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

在這里插入圖片描述

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

db.close()

以上就是本次分享的全部內(nèi)容~

附錄:python MySQL 批量插入

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

# coding:utf-8
import pymysql
 
# 打開數(shù)據(jù)庫連接
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)"
# 一個tuple或者list
T = (('xiaoming', 31, 'boy'), ('hong', 22, 'girl'), ('wang', 90, 'man'))
 
try:
  # 執(zhí)行sql語句
  cursor.executemany(sql, T)
  # 提交到數(shù)據(jù)庫執(zhí)行
  db.commit()
except :
  # 如果發(fā)生錯誤則回滾
  db.rollback()
# 關(guān)閉游標(biāo)
cursor.close()
# 關(guān)閉數(shù)據(jù)庫連接
db.close()

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

相關(guān)文章

  • Python實(shí)現(xiàn)股市信息下載的方法

    Python實(shí)現(xiàn)股市信息下載的方法

    這篇文章主要介紹了Python實(shí)現(xiàn)股市信息下載的方法,涉及Python使用urllib模塊進(jìn)行URL及文件的相關(guān)操作技巧,需要的朋友可以參考下
    2015-06-06
  • Django工程的分層結(jié)構(gòu)詳解

    Django工程的分層結(jié)構(gòu)詳解

    在本篇文章里小編給各位分享的是關(guān)于Django工程的分層結(jié)構(gòu)的相關(guān)知識點(diǎn)內(nèi)容,有興趣的朋友們學(xué)習(xí)參考下。
    2019-07-07
  • python中l(wèi)ist.sort()方法的具體使用

    python中l(wèi)ist.sort()方法的具體使用

    本文詳細(xì)介紹了Python中l(wèi)ist的sort方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-01-01
  • PyQT中QTableWidget如何根據(jù)單元格內(nèi)容設(shè)置自動寬度

    PyQT中QTableWidget如何根據(jù)單元格內(nèi)容設(shè)置自動寬度

    這篇文章主要介紹了PyQT中QTableWidget如何根據(jù)單元格內(nèi)容設(shè)置自動寬度問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Python實(shí)現(xiàn)獲取前100組勾股數(shù)的方法示例

    Python實(shí)現(xiàn)獲取前100組勾股數(shù)的方法示例

    這篇文章主要介紹了Python實(shí)現(xiàn)獲取前100組勾股數(shù)的方法,涉及Python數(shù)值計算與判斷相關(guān)操作技巧,需要的朋友可以參考下
    2018-05-05
  • 簡單聊聊PyTorch里面的torch.nn.Parameter()

    簡單聊聊PyTorch里面的torch.nn.Parameter()

    torch.nn.parameter是一個被用作神經(jīng)網(wǎng)絡(luò)模塊參數(shù)的tensor,這是一種tensor的子類,下面這篇文章主要給大家介紹了關(guān)于PyTorch里面的torch.nn.Parameter()的相關(guān)資料,需要的朋友可以參考下
    2022-02-02
  • Python 對象序列化與反序列化之pickle json詳細(xì)解析

    Python 對象序列化與反序列化之pickle json詳細(xì)解析

    我們知道在Python中,一切皆為對象,實(shí)例是對象,類是對象,元類也是對象。本文正是要聊聊如何將這些對象有效地保存起來,以供后續(xù)使用
    2021-09-09
  • 由Python編寫的MySQL管理工具代碼實(shí)例

    由Python編寫的MySQL管理工具代碼實(shí)例

    這篇文章主要介紹了由Python編寫的MySQL管理工具,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • python 修改本地網(wǎng)絡(luò)配置的方法

    python 修改本地網(wǎng)絡(luò)配置的方法

    今天小編就為大家分享一篇python 修改本地網(wǎng)絡(luò)配置的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • VScode編寫第一個Python程序HelloWorld步驟

    VScode編寫第一個Python程序HelloWorld步驟

    VScode是微軟去年推出的一款輕量級編輯器,功能上和Atom、Sublime Text、Vim類似,你可以通過配置將它打造成合適的IDE,這里簡單介紹一下,需要的朋友可以參考下
    2018-04-04

最新評論

林甸县| 比如县| 斗六市| 铁力市| 灵璧县| 通许县| 高州市| 临桂县| 岑溪市| 黔江区| 义马市| 景德镇市| 清远市| 罗田县| 仁布县| 平南县| 高青县| 专栏| 景宁| 图片| 曲靖市| 会同县| 河间市| 资阳市| 南通市| 滦平县| 兴业县| 凤城市| 江孜县| 兰溪市| 凯里市| 泊头市| 儋州市| 出国| 双桥区| 葫芦岛市| 蒙山县| 临夏县| 崇礼县| 长垣县| 会泽县|