python向MySQL數(shù)據庫插入數(shù)據的操作方法
我在這里用的是python中pymysql連接MySQL數(shù)據庫,如果電腦中沒有安裝pymysql,可以直接再命令行通過 pip install pymysql 安裝
一、通過python腳本向mysql數(shù)據庫插入單條數(shù)據
寫sql語句時,不管字段為什么類型,占位符統(tǒng)一使用%s
這里記錄兩種插入單條數(shù)據的方式:
1、直接用execute方法執(zhí)行sql語句
#導入pymysql包 import pymysql # 創(chuàng)建數(shù)據庫連接 conn = pymysql.connect(host="localhost",port=3306,user="root",passwd="123456",db="test1" ) #獲取一個游標對象 cursor=conn.cursor() #執(zhí)行數(shù)據庫插入操作 cursor.execute('insert into student(id,name,age) values (123456,"tom",12)') #提交 conn.commit() #關閉連接 conn.close() cursor.close()
2、將sql語句單獨出來,在語句中用%s做占位符
#導入pymysql包 import pymysql # 創(chuàng)建數(shù)據庫連接 conn = pymysql.connect(host="localhost",port=3306,user="root",passwd="123456",db="test1" ) #獲取一個游標對象 cursor=conn.cursor() #sql語句中,用%s做占位符,參數(shù)用一個元組 sql="insert into student values(%s,%s,%s)" param=(23456,'lilei',20) #執(zhí)行數(shù)據庫插入 cursor.execute(sql,param) #提交 conn.commit() #關閉連接 conn.close() cursor.close()
二、通過python腳本向mysql數(shù)據庫批量插入數(shù)據
這里記錄兩種批量插入數(shù)據的方式:
1、通過execute,用for語句循環(huán)
#導入pymysql包 import pymysql # 創(chuàng)建數(shù)據庫連接 conn = pymysql.connect(host="localhost",port=3306,user="root",passwd="123456",db="test1" ) #獲取一個游標對象 cursor=conn.cursor() #設置參數(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() #關閉連接 conn.close() cursor.close()
2、通過executemany,數(shù)據的格式必須為list[tuple(),tuple(),tuple()]或者tuple(tuple(),tuple(),tuple())
import pymysql # 打開數(shù)據庫連接 conn = pymysql.connect(host="localhost",port=3306,user="root",passwd="123456",db="test1" ) # 使用cursor()方法獲取操作游標 cursor = conn.cursor() #批量插入數(shù)據 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ù)據 cursor.executemany(sql,param) #提交 conn.commit() #關閉 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語句,但是重復執(zhí)行參數(shù)列表里的參數(shù),返回值為受影響的行數(shù)
4、nextset(self):移動到下一個結果集
四、cursor接受返回值的方法
1、 fetchall(self):接收全部的返回結果行.
2、 fetchmany(self, size=None):接收size條返回結果行.如果size的值大于返回的結果行的數(shù)量,則會返回cursor.arraysize條數(shù)據.
3、 fetchone(self):返回一條結果行.
4、 scroll(self, value, mode=‘relative’):移動指針到某一行.如果mode=‘relative’,則表示從當前所在行移動value條,如果mode=‘absolute’,則表示從結果集的第一 行移動value條.
五、cursor執(zhí)行查詢語句并返回結果
#執(zhí)行查詢的操作 cursor.execute("select * from cdinfo") #用fetcall方法獲取查詢返回的全部結果,將結果保存到tup,每條結果都是元組類型,所有的元組組成了一個元組集 tup=cursor.fetchall() print(tup)#輸出整個結果 print tup[0][3]#輸出元組集中,第一個元組的第四個元素
到此這篇關于python向MySQL數(shù)據庫插入數(shù)據的文章就介紹到這了,更多相關python數(shù)據庫插入數(shù)據內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python?Streamlit制作交互式可視化網頁應用實例
這篇文章主要為大家介紹了Python?Streamlit制作交互式可視化網頁應用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-12-12用python的requests第三方模塊抓取王者榮耀所有英雄的皮膚實例
下面小編就為大家分享一篇用python的requests第三方模塊抓取王者榮耀所有英雄的皮膚實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨想過來看看吧2017-12-12Win10系統(tǒng)下安裝編輯器之神(The?God?of?Editor)Vim并且構建Python生態(tài)開發(fā)環(huán)境過程(2
這篇文章主要介紹了Win10系統(tǒng)下安裝編輯器之神(The?God?of?Editor)Vim并且構建Python生態(tài)開發(fā)環(huán)境(2020年最新攻略),本次我們在Win10平臺構建一套以Vim為核心的Python開發(fā)環(huán)境,需要的朋友可以參考下2023-01-01