iT邦幫忙

2023 iThome 鐵人賽

DAY 9
0

繼上次將資料存到excel之後,這次要來研究怎麼存到資料庫中
需要的知識點有:

  1. 資料庫開發環境設定
  2. 資料庫查看&SQL語法使用
  3. Python連接,讀取,寫入資料庫方法

關於開發環境的建置,因為之前有使用過wordpress+local虛擬伺服器玩看看如何建立自己的網站
所以使用MAMP來建置MySQL的環境設定
並搭配MySQL workbench的gui介面,SQL語法的使用則可以參考這裡

https://ithelp.ithome.com.tw/upload/images/20231003/20163056PedVsgIYOb.png

接著可以在python的專案中安裝pyMySQL套件並引入
並使用以下程式碼測試是否有連接到資料庫了
需要注意的是>>port號必須是你設定的mySQL port號
(通常mySQL會是用3306,但使用MAMP會改到8889,可查看wiki列出的常用端口)

https://ithelp.ithome.com.tw/upload/images/20231003/201630562zjnS27PNN.png
代碼在這邊:

import pymysql.cursors
# Connect to the database
connection = pymysql.connect(host='localhost',
                            port=8889,
                            user='root',
                            password='root',
                            database='test_db',
                            cursorclass=pymysql.cursors.DictCursor)

# 使用 cursor() 方法创建一个游标对象 cursor
cursor = connection.cursor()

# 使用 execute()  方法执行 SQL 查询 
cursor.execute("SELECT VERSION()")

# 使用 fetchone() 方法获取单条数据.
data = cursor.fetchone()

print ("Database version : %s " % data)

# 关闭数据库连接
connection.close()

查看有成功印出版本了
https://ithelp.ithome.com.tw/upload/images/20231003/20163056zTBjuy4a8J.png

接著試看看查詢剛剛已建立的資料庫table內資料(select * from [table name])
代碼:

# 建立Cursor物件
with connection.cursor() as cursor:
    # 查詢資料SQL語法
    command = "select * from test_db.job_test"
    # 執行指令
    cursor.execute(command)
    # 取得所有資料
    result = cursor.fetchall()
    pprint.pprint(result)

# 关闭数据库连接
connection.close()

印出來的結果,與上面對照相符~
https://ithelp.ithome.com.tw/upload/images/20231003/20163056yfCM1Q3ly6.png

今天先做查詢的部分,明天再來研究如何把爬到的資料寫入資料庫中囉~


上一篇
104 爬蟲-將爬回來的結果存到excel中
下一篇
104 爬蟲-使用pyMySQL查詢資料庫資料-2
系列文
定期推送油價通知到Line上的訊息通知,並使用GitLab CI排程搭配Google Colab16
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言