伊人99re_av日韩成人_91高潮精品免费porn_色狠狠色婷婷丁香五月_免费看的av_91亚色网站

中培偉業(yè)IT資訊頻道
您現(xiàn)在的位置:首頁 > IT資訊 > 數(shù)據(jù)庫 > PyMySQL要增刪改查要怎么做?

PyMySQL要增刪改查要怎么做?

2020-08-12 16:34:17 | 來源:中培企業(yè)IT培訓(xùn)網(wǎng)

在眾多數(shù)據(jù)庫當(dāng)中,我們比較熟悉的就是MySQL。MySQL也是當(dāng)前較為流行的關(guān)系型數(shù)據(jù)庫。但是很多人在使用MySQL進(jìn)行增刪改查時(shí),不知道要怎么做。經(jīng)常使用MySQL數(shù)據(jù)庫的人都清楚,想要進(jìn)行這個(gè)操作還是非常簡單的,只需要簡單的兩步即可完成,即連接數(shù)據(jù)庫,同時(shí)在讀取CSV文件時(shí),導(dǎo)入數(shù)據(jù)表;然后將查詢數(shù)據(jù),并將數(shù)據(jù)表和計(jì)算結(jié)果導(dǎo)出為 CSV 文件。以下是詳細(xì)操作過程:

  Step1: 安裝 PyMySQL 模塊

在正式動手之前,我們需要先安裝 PyMySQL 模塊。

 ?。?)使用 pip 安裝, 清華鏡像:

pip install -i https://xxx pymysql

 ?。?)使用 conda 安裝

conda install pymysql

  Step2: 從 CSV 文件導(dǎo)入數(shù)據(jù)到 MySQL 數(shù)據(jù)表

安裝好以后,我們來進(jìn)行第二步操作,從 CSV 文件導(dǎo)入數(shù)據(jù)到 MySQL 數(shù)據(jù)表。與內(nèi)置的 SQLite 模塊一樣, PyMySQL 也遵循 DB-API 規(guī)范,因此我們前面開發(fā)的大多數(shù)代碼經(jīng)過簡單修改即可使用,以下代碼中主要注釋了與 SQLite 操作的不同之處。

# 導(dǎo)入 pymysql 模塊

import pymysql

# 連接數(shù)據(jù)庫, 這里需要提供許多參數(shù)給 connect 方法

# host 服務(wù)器ip地址

# user 用戶名 password 密碼

# db 數(shù)據(jù)庫名稱

cn = pymysql.connect(host='localhost', user='pandas', password='pandas', db='pandas')

# port 端口 缺省值為 3306

# 新建游標(biāo)對象 :和 SQLite 一樣

cur = cn.cursor()

# 建表SQL語句, 小技巧: if not exists 不會引起表已經(jīng)存在的錯(cuò)誤

# MySQL 使用的是 auto_increment , 注意有個(gè)下劃線

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 意味著我們會用字典對象替換數(shù)據(jù)

# PyMYSQL 使用的語法是 %(名稱)s

artist_insert ="""

insert into artist(id, name) values ( %(id)s, %(name)s )

"""

# 以下代碼和 SQLite 一樣

# 導(dǎo)入 csv 模塊

import csv

# 用 with 語法, 打開文件

with open('artist.csv', newline='') as csvfile:

# 用 DictReader 類, 方便開發(fā)

reader = csv.DictReader(csvfile)

# 按行遍歷csv 文件

for row in reader:

try:

# 按行執(zhí)行 SQL 語句, 注意, 這里使用 字符串的format方法將數(shù)據(jù)替換進(jìn)去

# 如果可以相信數(shù)據(jù)的安全性可以這樣做, 如果數(shù)據(jù)來自互聯(lián)網(wǎng), 需要用另一種更加安全的方式

cur.execute(artist_insert, {"id": row['id'], "name": row['name'] } )

except Exception as e:

print(e)

print(" 成功導(dǎo)入 CSV 數(shù)據(jù)" )

# 提交事務(wù)

cn.commit()

# 關(guān)閉數(shù)據(jù)庫

cn.close()

Step3: 將數(shù)據(jù)表與計(jì)算結(jié)果導(dǎo)出為 CSV 文件

接下來我們使用 execute 方法獲取數(shù)據(jù),然后輸出到 CSV 文件,與 SQLite 代碼類似:

# 導(dǎo)入 pymysql 模塊

import pymysql

# 連接數(shù)據(jù)庫

cn = pymysql.connect(host='localhost', user='pandas', password='pandas', db='pandas')

# 新建游標(biāo)對象

cur = cn.cursor()

# 用 with語法打開文件

with open("artist_data.csv", 'w') as csvfile:

# 首先讀取 description 寫入 CSV 的第一行

# 執(zhí)行 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 ] )

# 遍歷數(shù)據(jù)

for row in cur:

# 寫入每一行數(shù)據(jù)

writer.writerow(row)

print(" 成功寫入 CSV 文件")

通過上述介紹,PyMySQL要增刪改查要怎么做相信大家已經(jīng)清楚了吧,想了解更多關(guān)于PyMySQL數(shù)據(jù)庫的信息,請繼續(xù)關(guān)注中培偉業(yè)。

標(biāo)簽: PyMySQL 數(shù)據(jù)庫
主站蜘蛛池模板: 免费看少妇高潮一级毛片特黄 | 亚洲系列在线 | 一本久久a久久精品综合 | 免费少妇a级毛片人成网 | 欧美熟妇性XXXX欧美熟人多毛 | 亚洲欧美视频在线观看 | 亚洲暴爽AV人人爽日日碰 | AV在线观看地址 | 好男人社区WWW在线官网 | 久久久精品视频在线 | 人妻系列,一区二区三区 | 日本一区不卡视频 | 69久久精品99不卡片的优势 | 一区二区三区四区不卡视频 | 欧美日韩一区二区三区不卡 | 国产一卡二卡三卡四卡 | 色婷婷亚洲一区二区三区 | 99久久er这里只有精品18 | 精品无码专区毛片 | 国内免费无码自拍视频网 | 看亚洲黄色片 | av免费网址 | 一区二区三区在线观看免费 | jzjzz成人免费视频 | 日韩性毛片 | 亚洲日本va中文字幕 | 色妞色视频一区二区三区四区 | 国产精品久久久久久久av大片 | 四虎新网址 | 日本免费不卡视频 | 久久绯色视频 | a级黑粗大硬长爽猛片视频 人人插天天干 | 精品国产第一区二区三区的特点 | 国产人成无码视频在线1000 | 成人亚洲精品 | 一区二区三区精液 | 久久精品国产99精品亚洲 | 艳母免费观看视频 | 青青久草视频在线 | 国产产无码乱码精品久久鸭 | 一本一本久久a久久 |