pymysql语法_如何使用PyMySQL模块进行增删改查?
PyMySQL模塊進行增刪改查的操作。簡單來講,核心步驟有兩步:鏈接數據庫,讀取CSV文件并導入數據表,然后查詢數據,將數據表和計算結果導出為CSV文件。下面一起來具體看看吧~
Step1:安裝PyMySQL模塊
在正式動手之前,我們需要先安裝PyMySQL模塊。
(1)使用pip安裝,清華鏡像:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pymysql
(2)使用conda安裝
conda install pymysql
Step2:從CSV文件導入數據到MySQL數據表
安裝好以后,我們來進行第二步操作,從CSV文件導入數據到MySQL數據表。與內置的SQLite模塊一樣,PyMySQL也遵循DB-API規范,因此我們前面開發的大多數代碼經過簡單修改即可使用,以下代碼中主要注釋了與SQLite操作的不同之處。
#導入pymysql模塊
import pymysql
#連接數據庫,這里需要提供許多參數給connect方法
# host服務器ip地址
# user用戶名password密碼
# db數據庫名稱
cn = pymysql.connect(host='localhost', user='pandas', password='pandas', db='pandas')
# port端口 缺省值為3306
#新建游標對象 :和SQLite一樣
cur = cn.cursor()
#建表SQL語句,小技巧: if not exists不會引起表已經存在的錯誤
#? MySQL使用的是auto_increment, 注意有個下劃線
artist_create_table = """
create table if not exists artist(
id integer? primary key auto_increment not null,
name varchar(255)
)
"""
try:
cur.execute(artist_create_table)
print("成功建表")
except:
pass
#插入語句,使用%(id)s意味著我們會用字典對象替換數據
# PyMYSQL使用的語法是%(名稱)s
artist_insert ="""
insert into artist(id, name) values ( %(id)s, %(name)s )
"""
#以下代碼和SQLite一樣
#導入csv模塊
import csv
#用with語法,打開文件
with open('artist.csv', newline='') as csvfile:
#用DictReader類,方便開發
reader = csv.DictReader(csvfile)
#按行遍歷csv文件
for row in reader:
try:
#按行執行SQL語句,注意,這里使用 字符串的format方法將數據替換進去
#如果可以相信數據的安全性可以這樣做,如果數據來自互聯網,需要用另一種更加安全的方式
cur.execute(artist_insert,? {"id": row['id'], "name": row['name'] } )
except Exception as e:
print(e)
print("成功導入CSV數據" )
#提交事務
cn.commit()
#關閉數據庫
cn.close()
Step3:將數據表與計算結果導出為CSV文件
接下來我們使用execute方法獲取數據,然后輸出到CSV文件,與SQLite代碼類似:
#導入pymysql模塊
import pymysql
#連接數據庫
cn = pymysql.connect(host='localhost', user='pandas', password='pandas', db='pandas')
#新建游標對象
cur = cn.cursor()
#用with語法打開文件
with open("artist_data.csv", 'w') as csvfile:
#首先讀取description寫入CSV的第一行
#執行SQL語句
results= cur.execute("select * from artist")
#獲得description
description = cur.description
#新建CSV writer對象
writer = csv.writer(csvfile)
#寫入列名稱
writer.writerow([ x[0] for x in description ] )
#遍歷數據
for row in cur:
#寫入每一行數據
writer.writerow(row)
print("成功寫入CSV文件")
以上我們使用PyMySQL模塊為例,介紹了如何使用Python對MySQL數據庫進行增刪改查,大家都學會了嗎?
總結
以上是生活随笔為你收集整理的pymysql语法_如何使用PyMySQL模块进行增删改查?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python rest api 测试_如
- 下一篇: python api调用展示_Pytho