python向MySQL數(shù)據(jù)庫插入數(shù)據(jù)的操作方法
我在這里用的是python中pymysql連接MySQL數(shù)據(jù)庫,如果電腦中沒有安裝pymysql,可以直接再命令行通過 pip install pymysql 安裝
一、通過python腳本向mysql數(shù)據(jù)庫插入單條數(shù)據(jù)
寫sql語句時,不管字段為什么類型,占位符統(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" )
#獲取一個游標(biāo)對象
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語句單獨出來,在語句中用%s做占位符
#導(dǎo)入pymysql包 import pymysql # 創(chuàng)建數(shù)據(jù)庫連接 conn = pymysql.connect(host="localhost",port=3306,user="root",passwd="123456",db="test1" ) #獲取一個游標(biāo)對象 cursor=conn.cursor() #sql語句中,用%s做占位符,參數(shù)用一個元組 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" )
#獲取一個游標(biāo)對象
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)" #每一個值都作為一個元組,整個參數(shù)集作為一個元組 param=((111111,'haha',13),(22222,'hehe',34)) #或者每一個值作為元組,整個參數(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í)行存儲過程,接收的參數(shù)為存儲過程名和參數(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):移動到下一個結(jié)果集
四、cursor接受返回值的方法
1、 fetchall(self):接收全部的返回結(jié)果行.
2、 fetchmany(self, size=None):接收size條返回結(jié)果行.如果size的值大于返回的結(jié)果行的數(shù)量,則會返回cursor.arraysize條數(shù)據(jù).
3、 fetchone(self):返回一條結(jié)果行.
4、 scroll(self, value, mode=‘relative’):移動指針到某一行.如果mode=‘relative’,則表示從當(dāng)前所在行移動value條,如果mode=‘absolute’,則表示從結(jié)果集的第一 行移動value條.
五、cursor執(zhí)行查詢語句并返回結(jié)果
#執(zhí)行查詢的操作
cursor.execute("select * from cdinfo")
#用fetcall方法獲取查詢返回的全部結(jié)果,將結(jié)果保存到tup,每條結(jié)果都是元組類型,所有的元組組成了一個元組集
tup=cursor.fetchall()
print(tup)#輸出整個結(jié)果
print tup[0][3]#輸出元組集中,第一個元組的第四個元素到此這篇關(guān)于python向MySQL數(shù)據(jù)庫插入數(shù)據(jù)的文章就介紹到這了,更多相關(guān)python數(shù)據(jù)庫插入數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在Python中定義函數(shù)并調(diào)用的操作步驟
這篇文章主要介紹了在Python中如何定義函數(shù)并調(diào)用它,函數(shù)的定義和調(diào)用是Python編程中最基本也是最重要的概念之一,掌握它們對于進(jìn)行有效的Python編程至關(guān)重要,需要的朋友可以參考下2024-01-01
Ubuntu 下 vim 搭建python 環(huán)境 配置
這篇文章主要介紹了Ubuntu 下 vim 搭建python環(huán)境配置,需要的朋友可以參考下2017-06-06
python plt.plot bar 如何設(shè)置繪圖尺寸大小
這篇文章主要介紹了python plt.plot bar 設(shè)置繪圖尺寸大小的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06
Python實戰(zhàn)使用XPath采集數(shù)據(jù)示例解析
這篇文章主要為大家介紹了Python實戰(zhàn)之使用XPath采集數(shù)據(jù)實現(xiàn)示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪<BR>2023-04-04
Numpy中創(chuàng)建數(shù)組的9種方式小結(jié)
本文主要介紹了Numpy中創(chuàng)建數(shù)組的9種方式小結(jié),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03
對網(wǎng)站內(nèi)嵌gradio應(yīng)用的輸入輸出做審核實現(xiàn)詳解
這篇文章主要為大家介紹了對網(wǎng)站內(nèi)嵌gradio應(yīng)用的輸入輸出做審核實現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
python 實現(xiàn)登錄網(wǎng)頁的操作方法
今天小編就為大家分享一篇python 實現(xiàn)登錄網(wǎng)頁的操作方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05
python numpy中mat和matrix的區(qū)別
這篇文章主要介紹了python numpy中mat和matrix的區(qū)別,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03

