Python連接Mysql進(jìn)行增刪改查的示例代碼
Python連接Mysql
1.安裝對應(yīng)的庫
使用Python連接Mysql數(shù)據(jù)庫需要安裝相應(yīng)的庫
以管理員身份運(yùn)行cmd,輸入命令
pip install mysql.connector
安裝完成后建立test.py寫入import mysql.connector保存后運(yùn)行python test.py用以測試模塊庫是否安裝完成,如果不報錯,說明安裝完成
2.進(jìn)行連接測試
編寫connectTest.py文件文件內(nèi)容:
import mysql.connectorconnect = mysql.connector.connect( host='127.0.0.1', # 數(shù)據(jù)庫主機(jī)地址 user='root', # 數(shù)據(jù)庫用戶名 passwd='root', # 數(shù)據(jù)庫密碼 database='mysql' # 要連接的數(shù)據(jù)庫)#關(guān)閉連接connect.close()
運(yùn)行文件python connectTest.py如果沒有報錯提示說明連接成功,如果報錯提示
說明連接失敗,請檢查賬戶、密碼以及數(shù)據(jù)庫是否正確,查看數(shù)據(jù)庫是否開機(jī)
3.執(zhí)行sql命令
3.1創(chuàng)建表
import mysql.connectorconnect = mysql.connector.connect( host='127.0.0.1', # 數(shù)據(jù)庫主機(jī)地址 user='root', # 數(shù)據(jù)庫用戶名 passwd='root', # 數(shù)據(jù)庫密碼 database='test' # 要連接的數(shù)據(jù)庫)#數(shù)據(jù)庫建表指令sql = '''CREATE TABLE `test`.`testtable` ( `id` int NOT NULL, `name` varchar(255) NULL, `age` int NULL, `address` varchar(255) NULL, PRIMARY KEY (`id`) );'''#獲取數(shù)據(jù)庫操作游標(biāo)myCursor=connect.cursor()#執(zhí)行sql語句myCursor.execute(sql)#提交給數(shù)據(jù)庫執(zhí)行命令connect.commit()connect.close()
執(zhí)行后會創(chuàng)建一個名為testtabe的表
3.2插入數(shù)據(jù)
import mysql.connectorconnect = mysql.connector.connect( host='127.0.0.1', # 數(shù)據(jù)庫主機(jī)地址 user='root', # 數(shù)據(jù)庫用戶名 passwd='root', # 數(shù)據(jù)庫密碼 database='test' # 要連接的數(shù)據(jù)庫)# 數(shù)據(jù)庫插入指令,待定字符無論是數(shù)值還是文字,都需要用%ssql = 'INSERT INTO `test`.`testtable`(`id`, `name`, `age`, `address`) VALUES (%s,%s,%s,%s)'var = (1, ’windSnowLi’, 20, ’中國’)# 獲取數(shù)據(jù)庫操作游標(biāo)myCursor = connect.cursor()try: # 執(zhí)行sql語句 myCursor.execute(sql, var) # 提交給數(shù)據(jù)庫執(zhí)行命令 connect.commit()except : #回滾,以防出現(xiàn)錯誤 connect.rollback()connect.close()
隨后檢查數(shù)據(jù)庫
3.3查詢語句
import mysql.connectorconnect = mysql.connector.connect( host='127.0.0.1', # 數(shù)據(jù)庫主機(jī)地址 user='root', # 數(shù)據(jù)庫用戶名 passwd='root', # 數(shù)據(jù)庫密碼 database='test' # 要連接的數(shù)據(jù)庫)# 數(shù)據(jù)庫查詢指令sql = 'select * from testtable'# 獲取數(shù)據(jù)庫操作游標(biāo)myCursor = connect.cursor()try: # 執(zhí)行sql語句 myCursor.execute(sql) results = myCursor.fetchall() print(results)except : print('查詢失敗')connect.close()
3.4更新數(shù)據(jù)
import mysql.connectorconnect = mysql.connector.connect( host='127.0.0.1', # 數(shù)據(jù)庫主機(jī)地址 user='root', # 數(shù)據(jù)庫用戶名 passwd='root', # 數(shù)據(jù)庫密碼 database='test' # 要連接的數(shù)據(jù)庫)# 數(shù)據(jù)庫更新指令sql = 'UPDATE `test`.`testtable` SET `id` = 2, `name` = ’mirror’, `age` = 19, `address` = ’祖國’ WHERE `id` = 1'# 獲取數(shù)據(jù)庫操作游標(biāo)myCursor = connect.cursor()try: # 執(zhí)行sql語句 myCursor.execute(sql) # 提交給數(shù)據(jù)庫執(zhí)行命令 connect.commit()except : #回滾,以防出現(xiàn)錯誤 connect.rollback()connect.close()
3.5刪除數(shù)據(jù)
import mysql.connectorconnect = mysql.connector.connect( host='127.0.0.1', # 數(shù)據(jù)庫主機(jī)地址 user='root', # 數(shù)據(jù)庫用戶名 passwd='root', # 數(shù)據(jù)庫密碼 database='test' # 要連接的數(shù)據(jù)庫)# 數(shù)據(jù)庫刪除指令sql = 'DELETE FROM `test`.`testtable` WHERE `id` = 1'# 獲取數(shù)據(jù)庫操作游標(biāo)myCursor = connect.cursor()try: # 執(zhí)行sql語句 myCursor.execute(sql) # 提交給數(shù)據(jù)庫執(zhí)行命令 connect.commit()except : #回滾,以防出現(xiàn)錯誤 connect.rollback()connect.close()
4.說明
sql語句中如果有待定字符,則都可以通過
sql = 'INSERT INTO `test`.`testtable`(`id`, `name`, `age`, `address`) VALUES (%s,%s,%s,%s)'var = (1, ’windSnowLi’, 20, ’中國’)
這種方式拼接,不過執(zhí)行時需要myCursor.execute(sql, var)將參數(shù)也同步傳入
到此這篇關(guān)于Python連接Mysql進(jìn)行增刪改查的示例代碼的文章就介紹到這了,更多相關(guān)Python連接Mysql增刪改查內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. vue組件庫的在線主題編輯器的實現(xiàn)思路2. 如何用 Python 制作一個迷宮游戲3. 部署vue+Springboot前后端分離項目的步驟實現(xiàn)4. Django如何使用asyncio協(xié)程和ThreadPoolExecutor多線程5. AspNetCore&MassTransit Courier實現(xiàn)分布式事務(wù)的詳細(xì)過程6. idea設(shè)置自動導(dǎo)入依賴的方法步驟7. 網(wǎng)頁中img圖片使用css實現(xiàn)等比例自動縮放不變形(代碼已測試)8. Python安裝并操作redis實現(xiàn)流程詳解9. ASP常用日期格式化函數(shù) FormatDate()10. JavaScript實現(xiàn)組件化和模塊化方法詳解
