python向MySQL數(shù)據(jù)庫插入數(shù)據(jù)的操作方法
我在這里用的是python中pymysql連接MySQL數(shù)據(jù)庫,如果電腦中沒有安裝pymysql,可以直接再命令行通過 pip install pymysql 安裝
一、通過python腳本向mysql數(shù)據(jù)庫插入單條數(shù)據(jù)
寫sql語句時(shí),不管字段為什么類型,占位符統(tǒng)一使用%s
這里記錄兩種插入單條數(shù)據(jù)的方式:
1、直接用execute方法執(zhí)行sql語句
#導(dǎo)入pymysql包
import pymysql
# 創(chuàng)建數(shù)據(jù)庫連接
conn = pymysql.connect(host="localhost",port=3306,user="root",passwd="123456",db="test1" )
#獲取一個(gè)游標(biāo)對(duì)象
cursor=conn.cursor()
#執(zhí)行數(shù)據(jù)庫插入操作
cursor.execute('insert into student(id,name,age) values (123456,"tom",12)')
#提交
conn.commit()
#關(guān)閉連接
conn.close()
cursor.close()2、將sql語句單獨(dú)出來,在語句中用%s做占位符
#導(dǎo)入pymysql包 import pymysql # 創(chuàng)建數(shù)據(jù)庫連接 conn = pymysql.connect(host="localhost",port=3306,user="root",passwd="123456",db="test1" ) #獲取一個(gè)游標(biāo)對(duì)象 cursor=conn.cursor() #sql語句中,用%s做占位符,參數(shù)用一個(gè)元組 sql="insert into student values(%s,%s,%s)" param=(23456,'lilei',20) #執(zhí)行數(shù)據(jù)庫插入 cursor.execute(sql,param) #提交 conn.commit() #關(guān)閉連接 conn.close() cursor.close()
二、通過python腳本向mysql數(shù)據(jù)庫批量插入數(shù)據(jù)
這里記錄兩種批量插入數(shù)據(jù)的方式:
1、通過execute,用for語句循環(huán)
#導(dǎo)入pymysql包
import pymysql
# 創(chuàng)建數(shù)據(jù)庫連接
conn = pymysql.connect(host="localhost",port=3306,user="root",passwd="123456",db="test1" )
#獲取一個(gè)游標(biāo)對(duì)象
cursor=conn.cursor()
#設(shè)置參數(shù)i,for語句循環(huán)
for i in range(1,10):
param=str(i)
sql="insert into student values(%s,'yy',20)"
cursor.execute(sql,param)
conn.commit()
#關(guān)閉連接
conn.close()
cursor.close()2、通過executemany,數(shù)據(jù)的格式必須為list[tuple(),tuple(),tuple()]或者tuple(tuple(),tuple(),tuple())
import pymysql # 打開數(shù)據(jù)庫連接 conn = pymysql.connect(host="localhost",port=3306,user="root",passwd="123456",db="test1" ) # 使用cursor()方法獲取操作游標(biāo) cursor = conn.cursor() #批量插入數(shù)據(jù) sql="insert into student values(%s,%s,%s)" #每一個(gè)值都作為一個(gè)元組,整個(gè)參數(shù)集作為一個(gè)元組 param=((111111,'haha',13),(22222,'hehe',34)) #或者每一個(gè)值作為元組,整個(gè)參數(shù)集作為list :param=[(111111,'haha',13),(22222,'hehe',34)] #使用executemany方法批量插入數(shù)據(jù) cursor.executemany(sql,param) #提交 conn.commit() #關(guān)閉 conn.close() cursor.close()
三、cursor執(zhí)行命令的方法
1、 callproc(self, procname, args):用來執(zhí)行存儲(chǔ)過程,接收的參數(shù)為存儲(chǔ)過程名和參數(shù)列表,返回值為受影響的行數(shù)
2、 execute(self, query, args):執(zhí)行單條sql語句,接收的參數(shù)為sql語句本身和使用的參數(shù)列表,返回值為受影響的行數(shù)
3、executemany(self, query, args):執(zhí)行單挑sql語句,但是重復(fù)執(zhí)行參數(shù)列表里的參數(shù),返回值為受影響的行數(shù)
4、nextset(self):移動(dòng)到下一個(gè)結(jié)果集
四、cursor接受返回值的方法
1、 fetchall(self):接收全部的返回結(jié)果行.
2、 fetchmany(self, size=None):接收size條返回結(jié)果行.如果size的值大于返回的結(jié)果行的數(shù)量,則會(huì)返回cursor.arraysize條數(shù)據(jù).
3、 fetchone(self):返回一條結(jié)果行.
4、 scroll(self, value, mode=‘relative’):移動(dòng)指針到某一行.如果mode=‘relative’,則表示從當(dāng)前所在行移動(dòng)value條,如果mode=‘absolute’,則表示從結(jié)果集的第一 行移動(dòng)value條.
五、cursor執(zhí)行查詢語句并返回結(jié)果
#執(zhí)行查詢的操作
cursor.execute("select * from cdinfo")
#用fetcall方法獲取查詢返回的全部結(jié)果,將結(jié)果保存到tup,每條結(jié)果都是元組類型,所有的元組組成了一個(gè)元組集
tup=cursor.fetchall()
print(tup)#輸出整個(gè)結(jié)果
print tup[0][3]#輸出元組集中,第一個(gè)元組的第四個(gè)元素到此這篇關(guān)于python向MySQL數(shù)據(jù)庫插入數(shù)據(jù)的文章就介紹到這了,更多相關(guān)python數(shù)據(jù)庫插入數(shù)據(jù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python?Streamlit制作交互式可視化網(wǎng)頁應(yīng)用實(shí)例
這篇文章主要為大家介紹了Python?Streamlit制作交互式可視化網(wǎng)頁應(yīng)用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12
使用Python編寫簡(jiǎn)單網(wǎng)絡(luò)爬蟲抓取視頻下載資源
從上一篇文章的評(píng)論中看出似乎很多童鞋都比較關(guān)注爬蟲的源代碼。所有本文就使用Python編寫簡(jiǎn)單網(wǎng)絡(luò)爬蟲抓取視頻下載資源做了很詳細(xì)的記錄,幾乎每一步都介紹給大家,希望對(duì)大家能有所幫助2014-11-11
對(duì)pandas里的loc并列條件索引的實(shí)例講解
今天小編就為大家分享一篇對(duì)pandas里的loc并列條件索引的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-11-11
Keras自動(dòng)下載的數(shù)據(jù)集/模型存放位置介紹
這篇文章主要介紹了Keras自動(dòng)下載的數(shù)據(jù)集/模型存放位置介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-06-06
用python的requests第三方模塊抓取王者榮耀所有英雄的皮膚實(shí)例
下面小編就為大家分享一篇用python的requests第三方模塊抓取王者榮耀所有英雄的皮膚實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨想過來看看吧2017-12-12
Win10系統(tǒng)下安裝編輯器之神(The?God?of?Editor)Vim并且構(gòu)建Python生態(tài)開發(fā)環(huán)境過程(2
這篇文章主要介紹了Win10系統(tǒng)下安裝編輯器之神(The?God?of?Editor)Vim并且構(gòu)建Python生態(tài)開發(fā)環(huán)境(2020年最新攻略),本次我們?cè)赪in10平臺(tái)構(gòu)建一套以Vim為核心的Python開發(fā)環(huán)境,需要的朋友可以參考下2023-01-01
pytorch之深度神經(jīng)網(wǎng)絡(luò)概念全面整理
這篇文章主要介紹了pytorch之深度神經(jīng)網(wǎng)絡(luò)概念,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09

