Python操作MySQL的方法詳細解讀
一.安裝第三方庫
在Python中,通過使用第三方庫:pymysql,完成對MySQL數(shù)據(jù)庫的操作。
安裝指令:
pip install pymysql
二.在Python中使用
(1) 基本使用
導包-》建立連接-》進行xx操作-》關(guān)閉連接:
# 1.導入操作包 from pymysql import Connection # 2.獲取到MySQL數(shù)據(jù)庫的連接對象 conn = Connection( host='localhost', # 主機名或IP地址 port=3306, # 端口號,默認3306 user='root', # MySQL賬號 password='root' # MySQL密碼 ) # 打印MySQL版本信息 print(conn.get_server_info()) # 3.關(guān)閉到數(shù)據(jù)庫的連接 conn.close()
(2) 執(zhí)行建表SQL
導包-》建立連接-》獲取游標對象-》選擇數(shù)據(jù)庫-》執(zhí)行相應(yīng)sql-》關(guān)閉連接:
from pymysql import Connection # 獲取到MySQL數(shù)據(jù)庫的連接對象 conn = Connection( host='localhost', # 主機名或IP地址 port=3306, # 端口號,默認3306 user='root', # MySQL賬號 password='root' # MySQL密碼 ) """ 執(zhí)行非查詢性質(zhì)SQL """ # 獲取游標對象(用于操作數(shù)據(jù)庫) cursor = conn.cursor() # 選擇要操作的數(shù)據(jù)庫 conn.select_db("db1") # 使用游標對象,執(zhí)行建表sql語句 cursor.execute("CREATE TABLE tb_user(id INT,name VARCHAR(8),age int)") # 關(guān)閉到數(shù)據(jù)庫的連接 conn.close()
(3) 執(zhí)行查詢SQL
導包-》建立連接-》獲取游標對象-》選擇數(shù)據(jù)庫-》執(zhí)行相應(yīng)sql-》獲取查詢數(shù)據(jù),執(zhí)行xx操作-》關(guān)閉連接:
from pymysql import Connection # 獲取到MySQL數(shù)據(jù)庫的連接對象 conn = Connection( host='localhost', # 主機名或IP地址 port=3306, # 端口號,默認3306 user='root', # MySQL賬號 password='root' # MySQL密碼 ) """ 執(zhí)行查詢性質(zhì)SQL """ # 獲取游標對象(用于操作數(shù)據(jù)庫) cursor = conn.cursor() # 選擇要操作的數(shù)據(jù)庫 conn.select_db("db1") # 使用游標對象,執(zhí)行sql語句 cursor.execute("SELECT * FROM tb_user") # 獲取查詢結(jié)果,返回元組對象 results: tuple = cursor.fetchall() for result in results: print(result) # 關(guān)閉到數(shù)據(jù)庫的連接 conn.close()
(4) 執(zhí)行插入SQL
導包-》建立連接-》獲取游標對象-》選擇數(shù)據(jù)庫-》執(zhí)行相應(yīng)sql-》提交行為-》關(guān)閉連接:
from pymysql import Connection # 獲取到MySQL數(shù)據(jù)庫的連接對象 conn = Connection( host='localhost', # 主機名或IP地址 port=3306, # 端口號,默認3306 user='root', # MySQL賬號 password='root', # MySQL密碼 autocommit=True # 設(shè)置自動提交(commit) ) """ 執(zhí)行插入SQL """ # 獲取游標對象(用于操作數(shù)據(jù)庫) cursor = conn.cursor() # 選擇要操作的數(shù)據(jù)庫 conn.select_db("db1") # 使用游標對象,執(zhí)行sql語句 cursor.execute("Insert into tb_user values(1,'hhy','250')") # 確認插入行為 # 如果在獲取連接對象時設(shè)置自動提交可以不用再寫。 conn.commit() # 關(guān)閉到數(shù)據(jù)庫的連接 conn.close()
(5) 執(zhí)行修改SQL
導包-》建立連接-》獲取游標對象-》選擇數(shù)據(jù)庫-》執(zhí)行相應(yīng)sql-》提交行為-》關(guān)閉連接:
from pymysql import Connection # 獲取到MySQL數(shù)據(jù)庫的連接對象 conn = Connection( host='localhost', # 主機名或IP地址 port=3306, # 端口號,默認3306 user='root', # MySQL賬號 password='root', # MySQL密碼 autocommit=True # 設(shè)置自動提交(commit) ) """ 執(zhí)行修改SQL """ # 獲取游標對象(用于操作數(shù)據(jù)庫) cursor = conn.cursor() # 選擇要操作的數(shù)據(jù)庫 conn.select_db("db1") # 使用游標對象,執(zhí)行sql語句 cursor.execute("UPDATE tb_user set username='hhy' where username = 'fsp'") # 確認修改行為 # 如果在獲取連接對象時設(shè)置自動提交可以不用再寫。 conn.commit() # 關(guān)閉到數(shù)據(jù)庫的連接 conn.close()
(6) 執(zhí)行刪除SQL
導包-》建立連接-》獲取游標對象-》選擇數(shù)據(jù)庫-》執(zhí)行相應(yīng)sql-》提交行為-》關(guān)閉連接:
from pymysql import Connection # 獲取到MySQL數(shù)據(jù)庫的連接對象 conn = Connection( host='localhost', # 主機名或IP地址 port=3306, # 端口號,默認3306 user='root', # MySQL賬號 password='root', # MySQL密碼 autocommit=True # 設(shè)置自動提交(commit) ) """ 執(zhí)行刪除SQL """ # 獲取游標對象(用于操作數(shù)據(jù)庫) cursor = conn.cursor() # 選擇要操作的數(shù)據(jù)庫 conn.select_db("db1") # 使用游標對象,執(zhí)行sql語句 cursor.execute("DELETE from tb_user WHERE username = 'hhy'") # 確認刪除行為 # 如果在獲取連接對象時設(shè)置自動提交可以不用再寫。 conn.commit() # 關(guān)閉到數(shù)據(jù)庫的連接 conn.close()
(7) 小結(jié)
- pymysql在執(zhí)行數(shù)據(jù)插入或其它產(chǎn)生數(shù)據(jù)更改的SQL語句時,默認是需要提交更改的,即,需要通過代碼“確認”這種更改行為。
- 如果不想手動commit確認,可以在構(gòu)建連接對象的時候,設(shè)置自動commit的屬性。
- 查詢后,使用游標對象.fetchall()可得到全部的查詢結(jié)果封裝入嵌套元組內(nèi)
- 可使用游標對象.execute()執(zhí)行SQL語句
三.全文概覽
到此這篇關(guān)于Python操作MySQL的方法詳細解讀的文章就介紹到這了,更多相關(guān)Python操作MySQL內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- python利用pymysql和openpyxl實現(xiàn)操作MySQL數(shù)據(jù)庫并插入數(shù)據(jù)
- Python 利用pandas和mysql-connector獲取Excel數(shù)據(jù)寫入到MySQL數(shù)據(jù)庫
- python批量插入數(shù)據(jù)到mysql的3種方法
- Python操作MySQL數(shù)據(jù)庫的基本方法(查詢與更新)
- Python連接MySQL數(shù)據(jù)庫并查找表信息
- 使用Python實現(xiàn)Mysql數(shù)據(jù)庫相關(guān)操作詳解
- Python使用Pandas庫實現(xiàn)MySQL數(shù)據(jù)庫讀寫
相關(guān)文章
Python 實現(xiàn)OpenCV格式和PIL.Image格式互轉(zhuǎn)
今天小編就為大家分享一篇Python 實現(xiàn)OpenCV格式和PIL.Image格式互轉(zhuǎn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01深入解析Python編程中super關(guān)鍵字的用法
Python的子類調(diào)用父類成員時可以用到super關(guān)鍵字,初始化時需要注意super()和__init__()的區(qū)別,下面我們就來深入解析Python編程中super關(guān)鍵字的用法:2016-06-06xadmin使用formfield_for_dbfield函數(shù)過濾下拉表單實例
這篇文章主要介紹了xadmin使用formfield_for_dbfield函數(shù)過濾下拉表單實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04詳解Numpy數(shù)組轉(zhuǎn)置的三種方法T、transpose、swapaxes
這篇文章主要介紹了詳解Numpy數(shù)組轉(zhuǎn)置的三種方法T、transpose、swapaxes,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-05-05