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

MySQL 命令行 SQL 執行規範完全指南:語句終止、大小寫、格式化與註釋

     編輯:MySQL 綜合教學

MySQL 命令行 SQL 執行規範完全指南:語句終止、大小寫、格式化與註釋

在 MySQL 客戶端(mysql)交互式執行 SQL 時,遵循統一的編寫規範不僅能避免語法錯誤,更能提升代碼可讀性與團隊協作效率。本文梳理四大核心規則,並補充腳本導入、批量執行等實操技巧。

規則 1:語句必須以分號(;)或 \G 結束

  • ;:標準結束符,執行後顯示結果表格
  • \G:垂直顯示結果,適合寬表或列值較長的場景
mysql> SELECT * FROM customer;
mysql> SELECT * FROM customer\G

常見坑:忘寫分號直接回車,提示符變為 -> 進入多行模式,需補全分號才能執行。

規則 2:保留字不區分大小寫,但建議統一風格

以下三條語句等價:

SELECT * FROM customer;
select * FROM customer;
SeLeCt * FROM customer;

最佳實踐:

  • 保留字(SELECT、FROM、WHERE、JOIN 等)全大寫
  • 表名、列名、別名 全小寫(配合 lower_case_table_names=1 避免跨平台坑)
  • 字符串字面值保持原樣
SELECT id, user_name, email
FROM `user`
WHERE status = 1
ORDER BY created_at DESC;

規則 3:自由使用空白與換行,保持結構清晰

合法示例:

SELECT
    id,
    user_name,
    email
FROM `user`
WHERE status = 1
  AND created_at > '2023-01-01'
ORDER BY created_at DESC;

非法:在關鍵字中間插入換行(如 SEL\nECT)。

推薦風格:每個子句換行,條件對齊,長 IN 列表每值一行。

規則 4:兩種註釋風格

  • 單行:-- 註釋內容(注意 -- 後需跟空格)
  • 多行:/* 註釋內容 */(可跨行,不可嵌套)
SELECT * FROM `user`; -- 查詢所有用戶
/*
  多行說明:
  1. 業務背景
  2. 優化思路
*/

進階實操技巧

從文件批量執行 SQL

  1. 將 SQL 保存為 .sql 文件(UTF-8 編碼)
  2. 登入 MySQL 後執行:SOURCE /path/to/script.sql;
  3. 或在 Shell 直接管道導入:mysql -u root -p db_name < script.sql

路徑注意:Windows 路徑用正斜槓 D:/sql/script.sql 或雙反斜槓 D:\\sql\\script.sql。

命令行參數速查

參數說明
-h主機地址,默認 localhost
-P端口,默認 3306
-u用戶名
-p密碼(安全起見不寫值,交互輸入)
-D默認數據庫
--default-character-set連接字符集,推薦 utf8mb4
--execute / -e直接執行 SQL 字符串
--vertical / -E垂直顯示結果(等同 \G)

常用內部命令

  • SHOW DATABASES; / SHOW TABLES; / DESC tbl_name;
  • USE db_name; 切換默認庫
  • STATUS; 查看連接信息(字符集、版本、線程 ID)
  • HELP; 或 \? 內置幫助
  • EXIT / QUIT / \q 退出

避坑指南

  1. 密碼特殊字符:Shell 下含 $、!、` 等字符時,用單引號包裹或轉義
  2. max_allowed_packet
  3. 大數據導入:調大 max_allowed_packet、net_buffer_length,關閉 autocommit 批量提交
  4. 編碼亂碼:確保客戶端、連接、表、列四層字符集一致(推薦全鏈路 utf8mb4)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved