連線 MySQL 伺服器
標準連線(TCP/IP)
shell> mysql -h host -u user -p
Enter password: ********
-h host:MySQL 伺服器主機名或 IP
-u user:資料庫帳號
-p:提示輸入密碼(安全),或 -ppassword 直接帶入(不安全,歷史記錄可見)
本機 Socket 連線(無密碼/匿名)
shell> mysql
# 或
shell> mysql -u root -p # 本機 root
成功連線後的提示符
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7 to server version: 8.0.36
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
基礎操作指令
退出
mysql> QUIT; -- 或 EXIT, \q
簡單查詢
mysql> SELECT VERSION(), CURRENT_DATE;
+-----------+--------------+
| VERSION() | CURRENT_DATE |
+-----------+--------------+
| 8.0.36 | 2024-01-15 |
+-----------+--------------+
1 row in set (0.00 sec)
表達式計算
mysql> SELECT SIN(PI()/4), (4+1)*5;
+------------------+---------+
| SIN(PI()/4) | (4+1)*5 |
+------------------+---------+
| 0.70710678118655 | 25 |
+------------------+---------+
1 row in set (0.02 sec)
多語句單行
mysql> SELECT VERSION(); SELECT NOW();
+-----------------+ +---------------------+
| VERSION() | | NOW() |
+------------------+ +---------------------+
| 8.0.36 | | 2024-01-15 10:30:00 |
+------------------+ +---------------------+
多行語句(分號結束)
mysql> SELECT
-> USER(),
-> CURRENT_DATE;
+----------------+--------------+
| USER() | CURRENT_DATE |
+----------------+--------------+
| root@localhost | 2024-01-15 |
+----------------+--------------+
取消當前輸入
mysql> SELECT
-> USER()
-> \c
mysql>
提示符完整含義對照表
| 提示符 | 含義 | 觸發場景 |
mysql> | 就緒接受新命令 | 啟動、語句結束後 |
-> | 等待多行命令下一行 | 未遇分號換行 |
'> | 等待單引號字串結束 | SELECT 'abc 未閉合 |
"> | 等待雙引號字串結束 | SELECT "abc 未閉合 |
`> | 等待反引號識別符結束 | SELECT `abc 未閉合 |
/*> | 等待註釋結束 | SELECT /* comment 未閉合 |
大小寫規則
- 關鍵字、函數名、表名(Linux 下區分大小寫)、欄位名:**不區分大小寫**
- 字串值、**資料庫/表名在 Linux 下區分大小寫**(取決於
lower_case_table_names)
- **建議**:關鍵字大寫、表欄位小寫、字串值原樣,統一風格
新手必知 5 大原則
- 每條 SQL 以
; 或 \g 結尾,換行不代表結束
- 結果以表格輸出:首行欄位名,後續資料行
- 顯示
N rows in set (time) 為牆鐘時間,非 CPU 時間
- 使用
\c 可隨時取消正在輸入的多行語句
- 善用
HELP、\h 獲取內建幫助
延伸閱讀
- 教你如何在 MySQL 資料庫中直接儲存圖片
- MySQL 資料庫中的哈希加密
- mysql 實現自動遠程備份