首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 學習筆記:資料表建立基礎篇(上)

     編輯:MySQL 綜合教學

MySQL 學習筆記:資料表建立基礎篇(上)

一、建表 SQL 語句模型

CREATE TABLE [IF NOT EXISTS] 表名稱 (
    欄位名1 型別 [屬性] [索引],
    欄位名2 型別 [屬性] [索引],
    ...
    欄位名n 型別 [屬性] [索引]
) [表屬性] [表字元集];

命名規範:

  • 表名、欄位名:有意義的英文或縮寫,建議小寫
  • SQL 關鍵字:建議大寫
  • Windows 不分大小寫,Linux/UNIX 區分大小寫

二、資料型別詳解

1. 數值型

型別 位元組 範圍(有號) 範圍(無號/UNSIGNED)
TINYINT 1 -128 ~ 127 0 ~ 255
SMALLINT 2 -32,768 ~ 32,767 0 ~ 65,535
MEDIUMINT 3 -8,388,608 ~ 8,388,607 0 ~ 16,777,215
INT 4 -2,147,483,648 ~ 2,147,483,647 0 ~ 4,294,967,295
BIGINT 8 -9.22e18 ~ 9.22e18 0 ~ 1.84e19

浮點與定點數

  • FLOAT(M,D):4 位元組,單精度,有誤差
  • DOUBLE(M,D):8 位元組,雙精度,五捨六入
  • DECIMAL(M,D):M+2 位元組,以字串儲存,**精確無誤差**,四捨五入,適合金額計算

⚠️ 最佳實踐:涉及金額、精確計算務必使用 DECIMAL。

2. 字串型

型別 最大長度 特性
CHAR(M) 255 固定長度,不足補空格,尾部空格會被截斷
VARCHAR(M) 255(5.0.3 前)/ 65,535(5.0.3+) 可變長度,實際長度+1 位元組儲存長度資訊
TEXT 65,535 長文本,文章、日誌
BLOB 65,535 二進位資料,圖片、檔案(通常由程式語言寫入)

選擇建議:固定長度用 CHAR(如 MD5、UUID),可變長度用 VARCHAR。

3. 列舉與集合

  • ENUM('a','b','c'):單選,1–2 位元組,最多 65,535 個值
  • SET('a','b','c'):多選,逗號分隔,1–8 位元組,最多 64 個值

4. 日期時間型

型別 格式 範圍 備註
DATE YYYY-MM-DD 1000-01-01 ~ 9999-12-31
TIME HH:MM:SS -838:59:59 ~ 838:59:59
DATETIME YYYY-MM-DD HH:MM:SS 1000-01-01 ~ 9999-12-31 8 位元組,與時區無關
TIMESTAMP YYYYMMDDHHMMSS 1970-01-01 ~ 2038-01-19 4 位元組,受時區影響,自動更新
YEAR YYYY 1901 ~ 2155 1 位元組

💡 建議:應用層使用整數時間戳(如 PHP time()、Java System.currentTimeMillis())儲存,計算更高效。

常用查看指令

SHOW TABLES;           -- 列出所有表
DESC users;            -- 查看表結構
SELECT * FROM users;   -- 查詢資料
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved