MySQL數據庫是目前最流行的關系型數據庫之一。在 web 開發中,數據管理的一個核心部分就是數據庫和表的設計。本文將探討如何設計一個適用于 blog 網站的數據庫表。
CREATE TABLE `blog` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(255) NOT NULL, `content` text NOT NULL, `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `category_id` int(11) DEFAULT NULL, `user_id` int(11) NOT NULL, `is_published` tinyint(1) NOT NULL DEFAULT '0', PRIMARY KEY (`id`), KEY `category_id` (`category_id`), KEY `user_id` (`user_id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
上述代碼創建了一個名為blog
的表,其中包含了以下字段:
id
:是一個自增的整數,作為唯一標識每篇文章。title
:文章標題,必填。content
:文章內容,必填。created_at
:文章創建時間,缺省為當前時間。updated_at
:文章最近一次更新時間,缺省為當前時間。category_id
:文章所屬分類的 ID,可以為空。user_id
:文章作者的 ID,必填。is_published
:文章是否已發布,缺省為未發布。
為了查詢效率,category_id
和user_id
字段都創建了索引。
這個表的設計可以滿足 blog 網站的基本需求,如果需要增加更多功能,可以在此基礎上進行擴展。