🗂 欄位設計基礎

選對資料型別,資料庫才穩

正確選擇資料型別會影響資料正確性、儲存空間與查詢效率,也是資料表設計的基本功。

型別對照表

先理解用途,再決定使用哪一種。

類別型別適合用途
字串CHAR, VARCHAR, TEXT, ENUM姓名、標題、描述、狀態
數值TINYINT, INT, BIGINT, DECIMAL, DOUBLEID、數量、金額、計算值
日期時間DATE, DATETIME, TIMESTAMP, TIME, YEAR建立時間、訂單日期、排程時間
二進位BLOB, VARBINARY特殊檔案或二進位資料

實務選型建議

避免初學者最常犯的型別錯誤。

商品價格

建議使用 DECIMAL(10,2),避免浮點數精度誤差。

姓名與標題

一般建議使用 VARCHAR,因為長度通常不固定。

建立時間

常用 DATETIMETIMESTAMP 記錄。

布林狀態

可使用 TINYINT(1) 或 BOOLEAN 表示開關狀態。

如果你的欄位會參與排序、篩選、連接或統計,除了型別正確,命名一致也很重要。像 CustomerID、OrderID 這類主外鍵欄位應使用一致規格。

建立資料表範例

把型別設計實際套進表格中。

SQL
CREATE TABLE Products (
  ProductID INT PRIMARY KEY AUTO_INCREMENT,
  ProductName VARCHAR(150) NOT NULL,
  Price DECIMAL(10,2) NOT NULL,
  Stock INT NOT NULL DEFAULT 0,
  Status ENUM('draft','active','inactive') DEFAULT 'draft',
  CreatedAt DATETIME DEFAULT CURRENT_TIMESTAMP
);