Python操作MySQL數(shù)據(jù)庫(kù)的基本方法(查詢與更新)
前言
本文分享使用Python操作MySQL數(shù)據(jù)庫(kù)的基本方法,包括數(shù)據(jù)庫(kù)連接、建表、插入和查詢,供各位小伙伴參考。
一、連接MySQL數(shù)據(jù)庫(kù)
操作MySQL數(shù)據(jù)庫(kù)主要使用pymysql包,連接MySQL數(shù)據(jù)庫(kù)的語(yǔ)法為connect(IP, 端口, 用戶名, 密碼, 數(shù)據(jù)庫(kù)名,編碼格式)。
import pymysql
conn = pymysql.connect(host='xxx',
port='xxx',
user='xxx',
password='xxx',
database='xxx',
charset='utf8')二、建表
- 創(chuàng)建mysql連接:pymysql.connect(),詳見(jiàn)上文第一點(diǎn)
- 創(chuàng)建游標(biāo):conn.cursor()
- 編寫(xiě)建表語(yǔ)句:
(1)create_sql = “”“xxx”“”
(2)cursor.execute(create_sql) - 提交建表語(yǔ)句: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()三、插入
(一)直接插入字段值
直接在字段中插入字段值,插入語(yǔ)句寫(xiě)于雙引號(hào)中,常用于簡(jiǎn)單賦值。
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ù)查詢出來(lái),插入到目標(biāo)表中,插入語(yǔ)句寫(xiě)于三引號(hào)中,常用于編寫(xiě)復(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ù)庫(kù)表數(shù)據(jù)可以使用pandas包,語(yǔ)法為read_sql(‘SQL查詢語(yǔ)句’, 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é)合各類(lèi)Python操作MySQL數(shù)據(jù)庫(kù)的方法,可以寫(xiě)出復(fù)雜腳本,進(jìn)行數(shù)據(jù)清洗和分析或者配合調(diào)度進(jìn)行自動(dòng)化操作,提高我們的效率。
到此這篇關(guān)于Python操作MySQL數(shù)據(jù)庫(kù)的文章就介紹到這了,更多相關(guān)Python操作MySQL數(shù)據(jù)庫(kù)內(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-05
Python爬蟲(chóng)實(shí)現(xiàn)驗(yàn)證碼登錄代碼實(shí)例
這篇文章主要介紹了Python爬蟲(chóng)實(shí)現(xiàn)驗(yàn)證碼登錄,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05
Python中json.dumps()和json.dump()的區(qū)別小結(jié)
在Python中,json.dumps()和json.dump()是兩個(gè)常用的函數(shù),本文主要介紹了Python中json.dumps()和json.dump()的區(qū)別小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02
Python封裝成可帶參數(shù)的EXE安裝包實(shí)例
今天小編就為大家分享一篇Python封裝成可帶參數(shù)的EXE安裝包實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08

