當前位置:首頁 » 編程語言 » mysqlpython3

mysqlpython3

發布時間: 2025-06-05 17:09:46

python3 Mysql executemany的使用

題主你好,

從你的代碼來說, 你的問題出在對executemany(sql, data)這個方法的邏輯沒弄明白.

咱們對比一下execute(sql)和executemany(sql, data), 這里假設sql執行的是插入操作:

前者是執行單條操作,要插入的數據是寫死在sql這個字元串中的;

後者是批量執行插入操作.關鍵的地方在於sql參數中留出格式化字元, 而數據是從data中取,這么說不好理解,看例子吧:

sql改為:

sql = "INSERT INTO bbb(nu1, nu2, nu3) VALUES (%s, %s, %s)"

注意和你的對比一下:

sql = "INSERT INTO bbb(nu1, nu2, nu3) VALUES (%s, %s, %s)" % (aa,bb,cc)

-----

關鍵是data參數,有兩種寫法,一種是序列內嵌, 一種是字典:

序列內嵌(外層必須是列表, 內層元素是列表或元組)

data=[[1,2,3],[4,5,6],[7,8,9]]

data=[(1,2,3),(4,5,6),(7,8,9)]

字典:

使用字典時,sql也要相應的改一下:

sql = "INSERT INTO bbb(nu1, nu2, nu3) VALUES (%(nu1)s, %(nu2)s, %(nu3)s)"

data參數外層還是一個列表, 內層元素是一個個的字典,即一個字典表示一條將要被插入的數據:

data = [ { 'nu1':1, 'nu2':2, 'nu3':3 }, { 'nu1':1, 'nu2':2, 'nu3':3 } ]

-----

再說下最終的邏輯:

序列內嵌法:

1.可以使用for循環先得到一個外層是列表,內層元素是列表或元組的這的一個列表:

ll= []
for i in itertools.permutations(range(1,8),3):
ll.append(i)

2.然後再構建sql語句:

sql = "INSERT INTO bbb(nu1, nu2, nu3) VALUES (%s, %s, %s)"

3.調用executemany():

cursor.executemany(sql,ll)

4.最後調用commit(),提交給資料庫執行:

yydd.commit()

-----

字典法的邏輯:

1.使用for循環構建一個元素是字典的列表:

ll= []
for i in itertools.permutations(range(1,8),3):
ll.append({'nu1':i[0], 'nu2':i[1], 'nu3':i[2]})

2.構建sql語句:

sql = "INSERT INTO bbb(nu1, nu2, nu3) VALUES (%(nu1)s, %(nu2)s, %(nu3)s)"

3,4步同序列內嵌法中的描述.

=====

希望可以幫到題主, 歡迎追問

② python3怎麼導入mysql

python3發布以來,獲取了廣大程序員們的差評,說不穩定,又是不兼容什麼的,不過差評歸差評,python3既然已經發布,肯定是個趨勢,但在python3.4裡面,使用原來python2.7的mysqldb已經不能連接mysql資料庫了,比較令人糾結,不過我們可以使用pymysql,來完成連接mysql的重任,步驟如下:
序號描述
1去github上下載pymysql的安裝包 pymysql
2解壓到某個盤符下
3打開cmd窗口(win環境下),進入pymysql的根目錄下執行命令,python setup.py install4在程序里,導入pymysql
5開始連接資料庫
資料庫操作的API文檔連接: http//legacy.python.org/dev/peps/pep-0249/代碼如下:
__author__ = 'qindongliang'
#導入pymysql的包
import pymysql
try:
#獲取一個資料庫連接,注意如果是UTF-8類型的,需要制定資料庫conn=pymysql.connect(host='localhost',user='root',passwd='qin',db='person',port=3306,charset='utf8')cur=conn.cursor()#獲取一個游標
cur.execute('select * from person')
data=cur.fetchall()
for d in data :
#注意int類型需要使用str函數轉義
print("ID: "+str(d[0])+' 名字: '+d[1]+" 性別: "+d[2])cur.close()#關閉游標
conn.close()#釋放資料庫資源
except Exception :print("發生異常")
結果如下:
D:\python\python.exe D:/pythonide/pythonprojectworkspace/python/mysql.pyID: 1 名字: 秦天 性別: 男
ID: 2 名字: 王晶 性別: 女
Process finished with exit code 0

③ python3.x如何安裝mysql-python(mysqldb)

要在Python3.x中安裝MySQL-python(mysqldb),可以通過使用pip工具進行。請確保您已安裝了pip,如果未安裝,可以訪問Python官方網站下載並安裝最新版本。

具體步驟如下:

1. 打開命令行(在Windows系統中,可以通過搜索「cmd」並以管理員身份運行)。

2. 在命令行中輸入以下命令:

pip install mysqlclient

這將下載並安裝mysqlclient,這是與MySQL資料庫交互的Python包。如果您使用的是Python版本較舊的系統,可能需要使用以下命令:

pip3 install mysqlclient

3. 完成安裝後,可以驗證是否成功安裝。在Python解釋器中輸入以下代碼並運行:

import mysql.connector

如果未出現任何錯誤,表示安裝成功。

注意:在安裝過程中,請確保您的Python環境與pip工具是最新的。此外,安裝mysqlclient後,還需確保MySQL資料庫伺服器正在運行,並在系統中正確配置了MySQL資料庫連接信息。

有關mysqlclient的詳細信息和文檔,請訪問其官方文檔或源代碼頁面。您可以在Python Package Index(PyPI)上找到這些資源。

熱點內容
安卓系統如何下載游戲不要錢 發布:2025-06-07 00:29:08 瀏覽:792
我的世界基岩版java互通的伺服器 發布:2025-06-07 00:26:32 瀏覽:281
基於角色的訪問控制 發布:2025-06-07 00:21:32 瀏覽:967
如何配置交換機安全 發布:2025-06-07 00:01:41 瀏覽:999
怎麼連接電腦電腦的密碼在哪裡 發布:2025-06-07 00:01:40 瀏覽:245
雲主機訪問 發布:2025-06-06 23:51:20 瀏覽:681
打開電腦文件夾就死機 發布:2025-06-06 23:51:15 瀏覽:451
傳奇伺服器7000埠怎麼修改 發布:2025-06-06 23:28:21 瀏覽:49
阿里雲雲伺服器ip和密碼 發布:2025-06-06 23:28:08 瀏覽:640
15人團隊解壓拓展哪家價格便宜 發布:2025-06-06 23:16:15 瀏覽:282