使用Python連接MySQL數(shù)據(jù)庫(kù)進(jìn)行編程的步驟詳解
PostgreSQL等。本教程將重點(diǎn)介紹使用Python連接MySQL數(shù)據(jù)庫(kù)進(jìn)行編程。 MySQL是一種常見(jiàn)的關(guān)系型數(shù)據(jù)庫(kù),我們可以使用Python的PyMySQL模塊與MySQL進(jìn)行交互。 在此之前,我們可以使用 pip install pymysql 安裝插件。安裝完成后,即可引入pymysql實(shí)現(xiàn)數(shù)據(jù)庫(kù)操作。 在python中操作數(shù)據(jù)庫(kù),可以說(shuō)只需按部就班就行了
- 1.創(chuàng)建數(shù)據(jù)庫(kù)連接
- 2.獲取游標(biāo)
- 3.執(zhí)行SQL語(yǔ)句(增刪改查等)
- 4.關(guān)閉SQL連接
1.連接到MySQL數(shù)據(jù)庫(kù)
我們可以使用 connect() 方法連接到MySQL數(shù)據(jù)庫(kù)。需要提供主機(jī)名、用戶(hù)名、密碼和數(shù)據(jù)庫(kù)名。
import pymysql conn = pymysql.connect(host='localhost', user='root', password='password', db='testdb')
2.創(chuàng)建表
在MySQL中,我們使用CREATE TABLE語(yǔ)句來(lái)創(chuàng)建表。在Python程序中,我們可以通過(guò)執(zhí)行SQL語(yǔ)句來(lái)創(chuàng)建表。
import pymysql
conn = pymysql.connect(host='localhost', user='root', password='password', db='testdb')
cur = conn.cursor()
cur.execute('''CREATE TABLE stocks (date text, trans text, symbol text, qty real, price real)''')
conn.commit()
conn.close()這個(gè)例子創(chuàng)建了一個(gè)名為stocks的表,包含五個(gè)列:日期、交易類(lèi)型、股票代碼、數(shù)量和價(jià)格。
3.插入/更新數(shù)據(jù)
我們可以使用INSERT INTO語(yǔ)句向表中插入數(shù)據(jù)。
import pymysql
conn = pymysql.connect(host='localhost', user='root', password='password', db='testdb')
cur = conn.cursor()
cur.execute("INSERT INTO stocks VALUES ('2020-11-01', 'BUY', 'AAPL', 100, 122.5)")
conn.commit()
conn.close()
# 更新數(shù)據(jù)
update_sql = "update stocks set trans ='SALE' where date='2023-06-04'"
cur.execute(update_sql)
conn.commit()
conn.close()這個(gè)例子向stocks表中插入了一行數(shù)據(jù)。
4.查詢(xún)數(shù)據(jù)
我們可以使用SELECT語(yǔ)句查詢(xún)表中的數(shù)據(jù)。
import pymysql
conn = pymysql.connect(host='localhost', user='root', password='password', db='testdb')
cur = conn.cursor()
cur.execute("SELECT * FROM stocks")
print(cur.fetchall())
conn.close()這個(gè)例子查詢(xún)了stocks表中的所有數(shù)據(jù),并打印出來(lái)。
5. 異常處理
對(duì)于支持事務(wù)的數(shù)據(jù)庫(kù), 在Python數(shù)據(jù)庫(kù)編程中,當(dāng)游標(biāo)建立之時(shí),就自動(dòng)開(kāi)始了一個(gè)隱形的數(shù)據(jù)庫(kù)事務(wù)。commit()方法執(zhí)行游標(biāo)的所有更新操作, 而通過(guò) rollback()方法,我們可以在發(fā)生異常時(shí),回滾當(dāng)前游標(biāo)的所有操作。
import pymysql
conn = pymysql.connect(host='localhost', user='root', password='password', db='testdb')
cur = conn.cursor()
try:
cur.execute("INSERT INTO stocks VALUES ('2020-11-01', 'BUY', 'AAPL', 100, 122.5)")
conn.commit()
except:
#發(fā)生錯(cuò)誤時(shí)回滾
conn.rollback()
# 關(guān)閉連接
conn.close()6.小結(jié)
本文我們簡(jiǎn)單學(xué)習(xí)了如何使用pymysql 對(duì)mysql數(shù)據(jù)庫(kù)進(jìn)行操作。同時(shí),python中還有一些其他的第三方組件,如 MySQLdb、Mysqlclient等。 你知道嗎,其實(shí) Python還自帶SQLite數(shù)據(jù)庫(kù),直接在代碼中使用 import sqllite3 即可引入插件,不妨自己動(dòng)手,親自體驗(yàn)下吧!
以上就是使用Python連接MySQL數(shù)據(jù)庫(kù)進(jìn)行編程的步驟詳解的詳細(xì)內(nèi)容,更多關(guān)于Python連接MySQL數(shù)據(jù)庫(kù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
基于Django filter中用contains和icontains的區(qū)別(詳解)
下面小編就為大家分享一篇基于Django filter中用contains和icontains的區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-12-12
PyTorch學(xué)習(xí)之軟件準(zhǔn)備與基本操作總結(jié)
這篇文章主要介紹了PyTorch學(xué)習(xí)之軟件準(zhǔn)備與基本操作總結(jié),文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們有很好地幫助,需要的朋友可以參考下2021-05-05
Python代碼操作Excel條件格式的實(shí)戰(zhàn)指南
用代碼操作Excel條件格式,本質(zhì)上就是把你手動(dòng)點(diǎn)鼠標(biāo)的步驟寫(xiě)成腳本,數(shù)據(jù)更新了,腳本跑一遍,格式自動(dòng)生成,下面我們就來(lái)看看具體的實(shí)現(xiàn)方法吧2026-03-03
python實(shí)現(xiàn)百度語(yǔ)音識(shí)別api
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)百度語(yǔ)音識(shí)別api,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04
openCV入門(mén)學(xué)習(xí)基礎(chǔ)教程第二篇
人臉識(shí)別,物體檢測(cè),OpenCV是基石,下面這篇文章主要給大家介紹了關(guān)于openCV入門(mén)學(xué)習(xí)基礎(chǔ)教程的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-11-11

