精品一区二区三区在线成人,欧美精产国品一二三区,Ji大巴进入女人66h,亚洲春色在线视频

教你用Python玩轉MySQL

開發 后端
爬蟲采集下來的數據除了存儲在文本文件、excel之外,還可以存儲在數據集,如:Mysql,redis,mongodb等,今天辰哥就來教大家如何使用Python連接Mysql,并結合爬蟲為大家講解。

 [[400168]]

大家好,我是辰哥。

爬蟲采集下來的數據除了存儲在文本文件、excel之外,還可以存儲在數據集,如:Mysql,redis,mongodb等,今天辰哥就來教大家如何使用Python連接Mysql,并結合爬蟲為大家講解。

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

01Mysql簡介

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

1.安裝pymysql

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

  1. pip install pymysql 

pymysql庫:Python3鏈接mysql

備注:

ps:MYSQLdb只適用于python2.x

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

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

2.python連接mysql

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

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

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

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

02建表

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

  1. # 創建 movie 表 
  2. movie_sql= ''
  3.         create table movie( 
  4.             id int AUTO_INCREMENT  primary key not null
  5.             title varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci  not null
  6.             url varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci  not null
  7.             rate float  not null 
  8.         ) 
  9. ''
  10. # 執行sql語句 
  11. cur.execute(movie_sql) 
  12. # 提交到數據庫執行 
  13. 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,同樣非空

03插入數據

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

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

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

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

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

04查詢

1.查詢所有

查詢表中所有數據

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

2.查詢指定的數據

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

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

05更新修改

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

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

同時看一下數據庫

06刪除

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

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

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

07小結

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

本文轉載自微信公眾號「Python研究者」,可以通過以下二維碼關注。轉載本文請聯系Python研究者公眾號。

責任編輯:武曉燕 來源: Python研究者
相關推薦

2015-03-23 12:33:28

2019-01-24 09:00:00

PythonAutoML機器學習

2015-04-22 11:29:45

PythonPython創建瀑布圖

2023-08-03 08:51:07

2020-04-09 09:52:42

Python數據技術

2021-08-09 13:31:25

PythonExcel代碼

2021-12-26 18:32:26

Python Heic 文件

2014-07-22 10:19:19

NeoBundle

2017-07-19 10:22:07

2022-02-18 10:34:19

邏輯回歸KNN預測

2019-09-05 10:07:23

ZAODeepfakes換臉

2023-10-27 11:38:09

PythonWord

2013-08-23 09:37:32

PythonPython游戲Python教程

2018-05-14 10:43:53

平衡數據數據分析Python

2021-05-10 06:48:11

Python騰訊招聘

2021-12-11 20:20:19

Python算法線性

2021-02-02 13:31:35

Pycharm系統技巧Python

2014-07-21 09:51:10

AndroidResflux修改應用

2020-03-25 14:40:45

語言編程語言Hello

2022-10-19 14:30:59

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 嘉荫县| 沙雅县| 凤阳县| 洛宁县| 鹤峰县| 大厂| 九龙县| 诸城市| 长武县| 平顺县| 曲松县| 襄樊市| 嘉祥县| 瑞昌市| 开封市| 长子县| 长宁区| 板桥市| 竹溪县| 赤水市| 镶黄旗| 繁昌县| 丹巴县| 来宾市| 福海县| 西吉县| 南投市| 门源| 马山县| 邻水| 涿鹿县| 柳河县| 新乐市| 惠州市| 万全县| 新巴尔虎右旗| 湖州市| 寿阳县| 房产| 广德县| 新巴尔虎左旗|