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(),詳見上文第一點
- 創(chuàng)建游標:conn.cursor()
- 編寫建表語句:
(1)create_sql = “”“xxx”“”
(2)cursor.execute(create_sql) - 提交建表語句:conn.commit()
- 關閉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()三、插入
(一)直接插入字段值
直接在字段中插入字段值,插入語句寫于雙引號中,常用于簡單賦值。
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ù)查詢出來,插入到目標表中,插入語句寫于三引號中,常用于編寫復雜邏輯插入數(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)總結
結合各類Python操作MySQL數(shù)據(jù)庫的方法,可以寫出復雜腳本,進行數(shù)據(jù)清洗和分析或者配合調(diào)度進行自動化操作,提高我們的效率。
到此這篇關于Python操作MySQL數(shù)據(jù)庫的文章就介紹到這了,更多相關Python操作MySQL數(shù)據(jù)庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python中json.dumps()和json.dump()的區(qū)別小結
在Python中,json.dumps()和json.dump()是兩個常用的函數(shù),本文主要介紹了Python中json.dumps()和json.dump()的區(qū)別小結,具有一定的參考價值,感興趣的可以了解一下2024-02-02

