使用Python連接MySQL數(shù)據(jù)庫進(jìn)行編程的步驟詳解
PostgreSQL等。本教程將重點(diǎn)介紹使用Python連接MySQL數(shù)據(jù)庫進(jìn)行編程。 MySQL是一種常見的關(guān)系型數(shù)據(jù)庫,我們可以使用Python的PyMySQL模塊與MySQL進(jìn)行交互。 在此之前,我們可以使用 pip install pymysql
安裝插件。安裝完成后,即可引入pymysql實(shí)現(xiàn)數(shù)據(jù)庫操作。 在python中操作數(shù)據(jù)庫,可以說只需按部就班就行了
- 1.創(chuàng)建數(shù)據(jù)庫連接
- 2.獲取游標(biāo)
- 3.執(zhí)行SQL語句(增刪改查等)
- 4.關(guān)閉SQL連接
1.連接到MySQL數(shù)據(jù)庫
我們可以使用 connect()
方法連接到MySQL數(shù)據(jù)庫。需要提供主機(jī)名、用戶名、密碼和數(shù)據(jù)庫名。
import pymysql conn = pymysql.connect(host='localhost', user='root', password='password', db='testdb')
2.創(chuàng)建表
在MySQL中,我們使用CREATE TABLE語句來創(chuàng)建表。在Python程序中,我們可以通過執(zhí)行SQL語句來創(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è)列:日期、交易類型、股票代碼、數(shù)量和價(jià)格。
3.插入/更新數(shù)據(jù)
我們可以使用INSERT INTO語句向表中插入數(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.查詢數(shù)據(jù)
我們可以使用SELECT語句查詢表中的數(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è)例子查詢了stocks表中的所有數(shù)據(jù),并打印出來。
5. 異常處理
對(duì)于支持事務(wù)的數(shù)據(jù)庫, 在Python數(shù)據(jù)庫編程中,當(dāng)游標(biāo)建立之時(shí),就自動(dòng)開始了一個(gè)隱形的數(shù)據(jù)庫事務(wù)。commit()方法執(zhí)行游標(biāo)的所有更新操作, 而通過 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ù)庫進(jìn)行操作。同時(shí),python中還有一些其他的第三方組件,如 MySQLdb、Mysqlclient等。 你知道嗎,其實(shí) Python
還自帶SQLite
數(shù)據(jù)庫,直接在代碼中使用 import sqllite3
即可引入插件,不妨自己動(dòng)手,親自體驗(yàn)下吧!
以上就是使用Python連接MySQL數(shù)據(jù)庫進(jìn)行編程的步驟詳解的詳細(xì)內(nèi)容,更多關(guān)于Python連接MySQL數(shù)據(jù)庫的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python實(shí)現(xiàn)pdf文檔轉(zhuǎn)txt的方法示例
這篇文章主要介紹了Python實(shí)現(xiàn)pdf文檔轉(zhuǎn)txt的方法,結(jié)合實(shí)例形式分析了Python基于第三方庫pdfminier實(shí)現(xiàn)針對(duì)pdf格式文檔的讀取、轉(zhuǎn)換等相關(guān)操作技巧,需要的朋友可以參考下2018-01-01Python使用Traits庫實(shí)現(xiàn)對(duì)象屬性
Python作為一種動(dòng)態(tài)編程語言,它的變量沒有類型,這種靈活性給快速開發(fā)帶來很多便利,不過它也不是沒有缺點(diǎn),Traits庫的一個(gè)很重要的目的就是為了解決這些缺點(diǎn)所帶來的問題,trait為Python對(duì)象的屬性增加了類型定義的功能2023-11-11Python利用Beautiful Soup模塊創(chuàng)建對(duì)象詳解
這篇文章主要介紹了Python利用Beautiful Soup模塊創(chuàng)建對(duì)象的相關(guān)資料,文中介紹的非常詳細(xì),相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來一起看看吧。2017-03-03python實(shí)現(xiàn)讀取類別頻數(shù)數(shù)據(jù)畫水平條形圖案例
這篇文章主要介紹了python實(shí)現(xiàn)讀取類別頻數(shù)數(shù)據(jù)畫水平條形圖案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-04-04Python3中bytes類型轉(zhuǎn)換為str類型
Python 3最重要的新特性之一是對(duì)字符串和二進(jìn)制數(shù)據(jù)流做了明確的區(qū)分。這篇文章主要介紹了Python3中bytes類型轉(zhuǎn)換為str類型的相關(guān)知識(shí),需要的朋友可以參考下2018-09-09Python機(jī)器學(xué)習(xí)之使用Pyecharts制作可視化大屏
pyecharts是一個(gè)用于生成Echarts圖表的Python庫,Echarts是百度開源的一個(gè)數(shù)據(jù)可視化 JS 庫,可以生成一些非??犰诺膱D表,這篇文章主要給大家介紹了關(guān)于Python機(jī)器學(xué)習(xí)之Pyecharts制作可視化大屏的相關(guān)資料,需要的朋友可以參考下2021-10-10