Python操作MySQL數(shù)據(jù)庫的基本方法(查詢與更新)
前言
本文分享使用Python操作MySQL數(shù)據(jù)庫的基本方法,包括數(shù)據(jù)庫連接、建表、插入和查詢,供各位小伙伴參考。
一、連接MySQL數(shù)據(jù)庫
操作MySQL數(shù)據(jù)庫主要使用pymysql包,連接MySQL數(shù)據(jù)庫的語法為connect(IP, 端口, 用戶名, 密碼, 數(shù)據(jù)庫名,編碼格式)。
import pymysql conn = pymysql.connect(host='xxx', port='xxx', user='xxx', password='xxx', database='xxx', charset='utf8')
二、建表
- 創(chuàng)建mysql連接:pymysql.connect(),詳見上文第一點(diǎn)
- 創(chuàng)建游標(biāo):conn.cursor()
- 編寫建表語句:
(1)create_sql = “”“xxx”“”
(2)cursor.execute(create_sql) - 提交建表語句:conn.commit()
- 關(guān)閉mysql連接:conn.close()
import pymysql conn = pymysql.connect(host='xxx', port='xxx', user='xxx', password='xxx', database='xxx', charset='utf8') cursor = conn.cursor() create_sql = """ CREATE TABLE IF NOT EXISTS xxx.aaa_20230326 ( id VARCHAR(4) NOT NULL PRIMARY KEY ,name VARCHAR(100) ); """ cursor.execute(create_sql) print("create successfully") conn.commit() conn.close()
三、插入
(一)直接插入字段值
直接在字段中插入字段值,插入語句寫于雙引號(hào)中,常用于簡單賦值。
import pymysql conn = pymysql.connect(host='xxx', port='xxx', user='xxx', password='xxx', database='xxx', charset='utf8') cursor = conn.cursor() insert_sql = "INSERT INTO xxx.aaa(id, name) VALUES ('%s', '%s')" % ('001', '張三') cursor.execute(insert_sql) print("insert successfully") conn.commit() conn.close()
(二)查表插入
將其他表數(shù)據(jù)查詢出來,插入到目標(biāo)表中,插入語句寫于三引號(hào)中,常用于編寫復(fù)雜邏輯插入數(shù)據(jù)。
import pymysql conn = pymysql.connect(host='xxx', port='xxx', user='xxx', password='xxx', database='xxx', charset='utf8') cursor = conn.cursor() insert_sql = """ INSERT INTO xxx.aaa SELECT xxx FROM xxx.bbb UNION ALL SELECT xxx FROM xxx.ccc ; """ cursor.execute(insert_sql) print("insert successfully") conn.commit() conn.close()
四、查詢
查詢MySQL數(shù)據(jù)庫表數(shù)據(jù)可以使用pandas包,語法為read_sql(‘SQL查詢語句’, con=mysql連接)。
import pandas as pd import pymysql conn = pymysql.connect(host='xxx', port='xxx', user='xxx', password='xxx', database='xxx', charset='utf8') df = pd.read_sql('select * from xxx.aaa', con=conn) print(df)
總結(jié)
結(jié)合各類Python操作MySQL數(shù)據(jù)庫的方法,可以寫出復(fù)雜腳本,進(jìn)行數(shù)據(jù)清洗和分析或者配合調(diào)度進(jìn)行自動(dòng)化操作,提高我們的效率。
到此這篇關(guān)于Python操作MySQL數(shù)據(jù)庫的文章就介紹到這了,更多相關(guān)Python操作MySQL數(shù)據(jù)庫內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實(shí)點(diǎn)云分割k-means(sklearn)詳解
這篇文章主要為大家詳細(xì)介紹了Python實(shí)點(diǎn)云分割k-means,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-05-05Python爬蟲實(shí)現(xiàn)驗(yàn)證碼登錄代碼實(shí)例
這篇文章主要介紹了Python爬蟲實(shí)現(xiàn)驗(yàn)證碼登錄,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05Python中json.dumps()和json.dump()的區(qū)別小結(jié)
在Python中,json.dumps()和json.dump()是兩個(gè)常用的函數(shù),本文主要介紹了Python中json.dumps()和json.dump()的區(qū)別小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02Python封裝成可帶參數(shù)的EXE安裝包實(shí)例
今天小編就為大家分享一篇Python封裝成可帶參數(shù)的EXE安裝包實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-08-08