首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 命名規則全解:合法字符、長度限制、限定符與大小寫敏感性

     編輯:MySQL 資料庫相關知識

MySQL 標識符命名規範:語法規則、長度上限、大小寫敏感性完全手冊

規範命名是可維護 Schema 的基石。MySQL 對標識符(庫、表、列、索引、別名)有嚴格語法與長度限制,大小寫敏感性受作業系統影響。

一、合法字符集

  • 字母(a-z, A-Z)、數字(0-9)、下劃線(_)、美元符($)。
  • **可用數字開頭**(如 123tbl),但**不能純數字**(避免與數值字面量混淆)。
  • 避免使用 e/E 開頭的名稱(如 23e+14 歧義:列名還是科學計數法?)。

二、長度上限(字符數,非字節)

三、限定符語法(命名空間解析)

對象最大長度
數據庫、表、列、索引64 字符
別名256 字符
引用層級語法示例說明
數據庫db_namemydb單純库名
表(完全限定)db_name.tbl_namemydb.users跨庫訪問必須
表(簡短)tbl_nameusers隱含當前默認庫(USE 設置)
列(完全限定)db_name.tbl_name.col_namemydb.users.id多表同名列消歧
列(部分限定)tbl_name.col_nameusers.id單表查詢常用
列(無限定)col_nameid單表且無歧義時

四、大小寫敏感性規則(核心避坑點)

對象敏感性決定因素建議
SQL 關鍵字/函數名**不敏感**解析器內部統一大寫(SELECT)提升可讀性
數據庫/表名**取決於 OS**文件系統:Linux 區分,Windows 不區分**統一小寫**;避免 abc vs ABC 衝突
列/索引名**不敏感**解析器內部統一小寫
別名**敏感**解析器內部引用時**嚴格保持定義大小寫**

五、同一查詢內大小寫一致性要求

  • 數據庫、表、別名:同一查詢中所有引用**必須大小寫一致**。
  • 關鍵字、函數、列名:允許混用(但強烈不建議)。

六、遷移兼容性清單

  1. 開發環境 Windows,生產 Linux → **全小寫命名**。
  2. 使用 lower_case_table_names=1 強制不敏感(需重啟,影響所有庫)。
  3. 導出腳本用 mysqldump --no-data 檢查實際大小寫。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved