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

MySQL 伺服器部署實戰筆記 (二):服務驗證、語法規範與常用函數速查

     編輯:MySQL 資料庫相關知識

服務啟動後驗證

# 檢查進程
ps -aux | grep mysql
# 應見兩個進程:mysqld (主進程) 與 mysqld_safe (監護進程)

# 連線測試
mysql -u root -p
# 進入互動模式,執行基本查詢驗證

MySQL 語法核心規範

字串常值:配對引號、轉義規則

  • 單引號 '...' 與雙引號 "..." 皆可,但必須成對
  • 引號內含同類引號:'It\'s OK'、"He said \"Hi\""
  • 連續字串常值自動合併:SELECT 'a' 'b' 'c'; -- 'abc'
  • 最佳實踐:統一使用單引號,符合 SQL 標準,避免與識別符混淆

識別符命名規則 (資料庫/表/欄位/別名)

建議:避免使用 $ (與 PHP 變數衝突)、保留字、中文識別符。

數值函數速查表

所有數值函數引數錯誤或定義域外均回傳 NULL。

規則說明
可用字元字母、數字、底線 _、美元符 $ (MySQL 專有)
首字元可為數字,但不能純數字 (避免與數值常值混淆)
禁止字元句點 . (保留給 db.table.col 限定語法)
長度限制別名 256 字元,其他通常 64 字元 (可修改原始碼 MYSQL_INSTALL_DB 調整,慎用)
大小寫敏感度Linux 下表名區分大小寫,Windows 不區分;建議統一小寫
函數功能範例結果
ABS(x)絕對值ABS(-5)5
CEILING(x)大於等於 x 的最小整數CEILING(3.14)4
FLOOR(x)小於等於 x 的最大整數FLOOR(3.14)3
ROUND(x)四捨五入到整數ROUND(3.5)4
ROUND(x,d)四捨五入到 d 位小數ROUND(3.14159,2)3.14
MOD(n,m) / n % m餘數MOD(10,3)1
SIGN(x)正負號SIGN(-5)-1
EXP(x)e^xEXP(1)2.718...
LOG(x)自然對數LOG(EXP(1))1
LOG10(x)以 10 為底對數LOG10(100)2
POW(x,y)x^yPOW(2,3)8
SQRT(x)平方根SQRT(16)4
RAND()0-1 隨機數RAND()0.123...

三角函數與角度轉換

函數功能
SIN(x), COS(x), TAN(x)正弦/餘弦/正切 (x 為弧度)
ASIN(x), ACOS(x), ATAN(x)反三角函數
ATAN2(y,x)反正切 (y,x),回傳 -π 到 π
DEGREES(x)弧度 → 角度
RADIANS(x)角度 → 弧度

比較與條件函數

函數功能範例
LEAST(x,y,...)回傳最小值 (至少 2 參數)LEAST(3,1,4) = 1
GREATEST(x,y,...)回傳最大值 (至少 2 參數)GREATEST(3,1,4) = 4
IF(cond, t, f)條件判斷IF(1>0, 'yes', 'no')
IFNULL(x, y)x 不為 NULL 回 x,否則回 yIFNULL(NULL, 0) = 0
COALESCE(x,y,z...)回傳第一個非 NULL 參數COALESCE(NULL, NULL, 3) = 3

實戰常見陷阱提醒

  • 整數除法:SELECT 5/2 = 2.5 (非整數除法),若需整數商用 DIV:5 DIV 2 = 2
  • NULL 運算:任何與 NULL 運算結果皆為 NULL,必須用 IS NULL/IFNULL/COALESCE 處理
  • 浮點數精度:FLOAT/DOUBLE 為近似值,金額計算必須用 DECIMAL(10,2)
  • 字串連接:用 CONCAT(),|| 在預設 SQL_MODE 下為邏輯 OR

總結

掌握 MySQL 基礎語法規範 (引號、識別符、NULL 語意) 與核心函數,是撰寫正確、高效 SQL 的前提。建議將常用函數表列印備查,並在開發規範中強制要求:DECIMAL 處理金額、COALESCE 防禦 NULL、統一小寫識別符、避免保留字。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved