資料庫紀錄已下載畫師作品

📢 本文由 gemini-3-flash-preview 翻譯

秉持著「不在自己硬碟裡的東西就不是自己的」的原則,以及個人手機中日益增多的圖片迫切需要整理放入硬碟中保存,以緩解手機儲存空間危機,於是決定採取按畫師分類下載儲存。因此便需要一個方便紀錄、快速查詢修改的方法,原本使用 Markdown 的清單,但隨著畫師增多,查詢免不了變得很慢。

時隔兩天再次回想,「紀錄」這種東西,最好用的不就是資料庫嗎!

下載與安裝

經過思考,決定使用 MySQL,下載可參考: MySQL下載與安裝 - 知乎 ,部分內容變了,但也大同小異。

安裝我直接使用預設值,一直按下一步直到完成 (太麻煩了)

啟動服務,win+R 輸入 services.msc 找到服務並開啟。

資料庫設計

說實話這也沒什麼好設計的吧,暫時主要下載 Pixiv 上的畫師,部分是 Twitter 上的,所以只用一張資料表應該就可以了。

IDnamedownloadDatelastDownloadIDplatformurl
畫師唯一識別碼姓名下載日期最後下載作品 ID平台連結

這設計是第幾正規化呢? 程式碼如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
-- 建立資料庫
create database hello;

-- 選擇資料庫
use hello;

-- 建立資料表
create table pic
(
    ID varchar(99),
    name varchar(255),
    downloadedDate datetime,
    lastDownloadID varchar(255),
    platform varchar(50),
    url varchar(255),
    primary key(ID)
);

作品下載

  • Pixiv

使用 Powerful Pixiv Downloader 擴充功能, Chrome 線上應用程式商店連結

Github 連結: xuejianxianzun/PixivBatchDownloader

記得開啟慢速抓取,不然下載太快或一次下載過多會暫時被封鎖 IP。

  • Twitter

使用 Twitter Media Downloader 擴充功能, Chrome 線上應用程式商店連結

官網連結: Twitter メディアダウンローダ:ユーザータイムラインの原寸画像や動画をまとめてダウンロードするユーザースクリプト(PC用Google Chrome・Firefox等対応) - 風柳メモ

資料插入

1
2
3
4
5
6
-- 選擇資料庫
use hello;

-- 插入資料
insert into pic values
('6049901', '鬼针草', '2023-02-09', '105176620', 'pixiv', 'https://www.pixiv.net/users/6049901')

多列資料的話,資料直接用 , 分隔。

資料更新

1
2
3
update pic
set downloadedDate = '2023-03-02', lastDownloadID = '105716156'
where ID = '6049901'

了解更多: 資料庫學習(三):SQL 語言 – yexca’Blog

MySQL 服務不見了

這裡插入一個我遇到的問題,寫在其他文章不太合適就放在這了。

在要打開資料庫匯入資料時,發現我的服務清單裡沒有 MySQL,解決方法:

以管理員權限開啟 CMD,進入 MySQL/bin 目錄。

1
2
3
4
# 註冊服務
mysqld --install
# 啟動服務
net start mysql

等待一會即可使用,資料並無遺失。

了解資料庫?

我撰寫的: 資料庫學習(一):資料庫導論 – yexca’Blog

菜鳥教程: SQL 教程-菜鳥教程

參考文章

MySQL常見建表選項及約束 - GeaoZhang - 博客園

This post is licensed under CC BY-NC-SA 4.0 by the author.