ป้ายกำกับ: Data dictionary

MySQL: เพิ่ม COMMENT ให้กับตารางและคอลัมน์MySQL: เพิ่ม COMMENT ให้กับตารางและคอลัมน์

การที่เราเขียน COMMENT ให้กับตารางและคอลัมน์ เพื่อให้กลับมาอ่านโค้ดหรือไล่ Database ได้ง่ายขึ้น ไม่ต้องไปเปิด Data dictionary ก็เขียน query ได้ทันที


ตัวอย่างจากโครงสร้างตาราง post ของ WordPress

CREATE TABLE `wp_posts` (
  `ID` bigint(20) UNSIGNED NOT NULL,
  `post_author` bigint(20) UNSIGNED NOT NULL DEFAULT 0,
  `post_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `post_date_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `post_content` longtext NOT NULL,
  `post_title` text NOT NULL,
  `post_excerpt` text NOT NULL,
  `post_status` varchar(20) NOT NULL DEFAULT 'publish',
  `comment_status` varchar(20) NOT NULL DEFAULT 'open',
  `ping_status` varchar(20) NOT NULL DEFAULT 'open',
  `post_password` varchar(255) NOT NULL DEFAULT '',
  `post_name` varchar(200) NOT NULL DEFAULT '',
  `to_ping` text NOT NULL,
  `pinged` text NOT NULL,
  `post_modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `post_modified_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `post_content_filtered` longtext NOT NULL,
  `post_parent` bigint(20) UNSIGNED NOT NULL DEFAULT 0,
  `guid` varchar(255) NOT NULL DEFAULT '',
  `menu_order` int(11) NOT NULL DEFAULT 0,
  `post_type` varchar(20) NOT NULL DEFAULT 'post',
  `post_mime_type` varchar(100) NOT NULL DEFAULT '',
  `comment_count` bigint(20) NOT NULL DEFAULT 0
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;

แก้โดยการเพิ่ม

ALTER TABLE ... MODIFY ... COMMENT 'comment'

-- เพิ่ม Comment ให้กับตัวตาราง
ALTER TABLE `wp_posts` 
COMMENT = 'ตารางเก็บข้อมูลโพสต์, หน้าเพจ, และ Custom Post Types ของ WordPress';

-- เพิ่ม Comment ให้กับแต่ละคอลัมน์
ALTER TABLE `wp_posts` 
  MODIFY COLUMN `ID` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'รหัสไอดีหลักของโพสต์ (Primary Key)',
  MODIFY COLUMN `post_author` bigint(20) UNSIGNED NOT NULL DEFAULT 0 COMMENT 'รหัสผู้เขียน (เชื่อมกับ wp_users.ID)',
  MODIFY COLUMN `post_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT 'วันที่และเวลาที่สร้างโพสต์ (เวลาท้องถิ่น)',
  MODIFY COLUMN `post_date_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT 'วันที่และเวลาที่สร้างโพสต์ (เวลามาตรฐาน GMT)',
  MODIFY COLUMN `post_content` longtext NOT NULL COMMENT 'เนื้อหาหลักของโพสต์',
  MODIFY COLUMN `post_title` text NOT NULL COMMENT 'หัวข้อหรือชื่อของโพสต์',
  MODIFY COLUMN `post_excerpt` text NOT NULL COMMENT 'เนื้อหาบทคัดย่อ',
  MODIFY COLUMN `post_status` varchar(20) NOT NULL DEFAULT 'publish' COMMENT 'สถานะโพสต์ (เช่น publish, draft, private, inherit)',
  MODIFY COLUMN `comment_status` varchar(20) NOT NULL DEFAULT 'open' COMMENT 'สถานะการเปิดรับคอมเมนต์ (open, closed)',
  MODIFY COLUMN `ping_status` varchar(20) NOT NULL DEFAULT 'open' COMMENT 'สถานะการเปิดรับ pingback/trackback (open, closed)',
  MODIFY COLUMN `post_password` varchar(255) NOT NULL DEFAULT '' COMMENT 'รหัสผ่านสำหรับเข้าดูโพสต์ (ถ้ามี)',
  MODIFY COLUMN `post_name` varchar(200) NOT NULL DEFAULT '' COMMENT 'Slug สำหรับใช้ใน URL (Permalinks)',
  MODIFY COLUMN `to_ping` text NOT NULL COMMENT 'URLs ที่ต้องการให้ WordPress ส่ง ping ไปแจ้งเตือน',
  MODIFY COLUMN `pinged` text NOT NULL COMMENT 'URLs ที่ WordPress ได้ทำการ ping ไปแล้ว',
  MODIFY COLUMN `post_modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT 'วันที่และเวลาที่มีการแก้ไขล่าสุด (เวลาท้องถิ่น)',
  MODIFY COLUMN `post_modified_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT 'วันที่และเวลาที่มีการแก้ไขล่าสุด (เวลามาตรฐาน GMT)',
  MODIFY COLUMN `post_content_filtered` longtext NOT NULL COMMENT 'เนื้อหาโพสต์ที่ผ่านการกรอง/แคช (ปกติใช้โดยปลั๊กอิน)',
  MODIFY COLUMN `post_parent` bigint(20) UNSIGNED NOT NULL DEFAULT 0 COMMENT 'รหัสโพสต์หลัก (ใช้สำหรับ หน้าลูก หรือ Media ที่ผูกกับโพสต์)',
  MODIFY COLUMN `guid` varchar(255) NOT NULL DEFAULT '' COMMENT 'Global Unique Identifier (ลิงก์ถาวรดั้งเดิมของโพสต์)',
  MODIFY COLUMN `menu_order` int(11) NOT NULL DEFAULT 0 COMMENT 'ลำดับการจัดเรียง (มักใช้กับ Page หรือ เมนู)',
  MODIFY COLUMN `post_type` varchar(20) NOT NULL DEFAULT 'post' COMMENT 'ประเภทของโพสต์ (เช่น post, page, attachment, revision)',
  MODIFY COLUMN `post_mime_type` varchar(100) NOT NULL DEFAULT '' COMMENT 'ประเภทไฟล์ Mime (ใช้เฉพาะประเภท attachment เช่น image/jpeg)',
  MODIFY COLUMN `comment_count` bigint(20) NOT NULL DEFAULT 0 COMMENT 'จำนวนคอมเมนต์ทั้งหมดในโพสต์นี้';

อ่านเพิ่มเติม