溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

通過Python使用MySQL

發布時間:2021-06-22 15:35:23 來源:億速云 閱讀:181 作者:chen 欄目:編程語言

本篇內容主要講解“通過Python使用MySQL”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“通過Python使用MySQL”吧!

前提:這里默認大家已經安裝好mysql。

01Mysql簡介

mysql是關系型數據庫,支持大型的數據庫,可以處理擁有上千萬條記錄的大型數據庫。通過爬蟲采集的數據集存儲到mysql后,可以借助mysql的關聯查詢將相關的數據一步取出。具體的作用這里就不贅述了,下面開始進入實際操作。

1.安裝pymysql

通過下面這個命令進行安裝

pip install pymysql

pymysql庫:Python3鏈接mysql

備注:

ps:MYSQLdb只適用于python2.x

python3不支持MYSQLdb,取而代之的是pymysql

運行會報:ImportError:No module named 'MYSQLdb'

2.python連接mysql

import pymysql as pmq #connect(ip.user,password,dbname) con = pmq.connect('localhost','root','123456','python_chenge') #操作游標 cur = con.cursor()

localhost是本機ip,這里用localhost表示是當前本機,否則將localhost改為對應的數據庫ip。

root是數據庫用戶名,123456是數據庫密碼,python_chenge是數據庫名。

通過Python使用MySQL

圖上的數據庫python_chenge已經建立好(建好之后,才能用上面代碼去連接),建好之后,當前是沒有表的,現在開始用Python進行建表,插入、查詢,修改,刪除等操作(結合爬蟲去講解)

02建表

在存儲之前,先通過python創建表,字段有四個(一個主鍵+電影名稱,鏈接,評分)

# 創建 movie 表 movie_sql= '''         create table movie(             id int AUTO_INCREMENT  primary key not null,             title varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci  not null,             url varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci  not null,             rate float  not null         ) ''' # 執行sql語句 cur.execute(movie_sql) # 提交到數據庫執行 con.commit()

創建表movie,字段分別為(id ,title ,url ,rate ),CHARACTER SET utf8 COLLATE  utf8_general_ci是字符串編碼設置為utf8格式

id是主鍵primary key,int類型,AUTO_INCREMENT自增,非空not null

title,url 是字符串類型varchar(100),同樣非空

評分rate 是帶小數的數字,所以是float,同樣非空

通過Python使用MySQL

03插入數據

爬蟲已經采集到數據,python已經建好表,接著可以將采集的數據插入到數據庫,這里介紹兩種方式

### 插入數據 def insert(title,url,rate):     # 插入數據一     #cur.execute("INSERT INTO movie(title,url,rate) VALUES('"+str(title)+"','"+str(url)+"',"+str(rate)+")")     # 插入數據二     sql = "INSERT INTO movie(title,url,rate) VALUES('"+str(title)+"','"+str(url)+"',"+str(rate)+")"     cur.execute(sql)     # 提交到數據庫執行     con.commit()

id是自增的,所以不需要在傳值進去。

定義好插入數據庫方法后,開始往數據庫進行存儲

for i in json_data['subjects']:     insert(i['title'],i['url'],i['rate'])

通過Python使用MySQL

04查詢

1.查詢所有

查詢表中所有數據

# 查詢 cur.execute('select * from movie') results = cur.fetchall() for row in results:     Id = row[0]     title = row[1]     print("id=%s,title=%s" % (Id, title))

通過Python使用MySQL

2.查詢指定的數據

比如查詢標題為:唐人街3這一條數據的所有字段

#查詢單條 cur.execute('select * from movie where title="唐人街探案3"') results = cur.fetchall() for row in results:     Id = row[0]     title = row[1]     url = row[2]     rate = row[3]     print("id=%s,title=%s,url=%s,rate=%s" % (Id, title,url,rate))

通過Python使用MySQL

05更新修改

更新數據,還是以上面:唐人街3為例,id為7,將唐人街3評分從5.5改為6

### 更新 def update():     sql = "update movie set rate='6' where Id = {0}".format(7)     cur.execute(sql)     con.commit()

通過Python使用MySQL

同時看一下數據庫

通過Python使用MySQL

06刪除

同樣還是以唐人街為例,其id為7,刪除的話咱們可以更新id去刪除

def delete(Id):     sql = "delete from movie where Id = {0}".format(Id)     cur.execute(sql)     con.commit()

通過Python使用MySQL

刪除之后,就沒有第7條數據了,說明刪除成功

07小結

今天的技術講解文章就到此結束,主要是將了如何通過python去連接mysql,并進行建表,插入數據,查詢,更新修改和刪除。

到此,相信大家對“通過Python使用MySQL”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女