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

MySQL 資料庫與資料表核心指令速查手冊:新手必備的 7 個黃金命令

     編輯:MySQL 資料庫相關知識

資料庫層級核心指令

指令功能使用場景範例
SELECT DATABASE();顯示當前選中的資料庫確認連線上下文返回 mydb 或 NULL
SHOW DATABASES;列出所有資料庫權限審計、環境確認顯示 information_schema, mysql, test, mydb
USE db_name;切換預設資料庫每個 Session 操作前必執行USE production_db;
CREATE DATABASE db_name CHARSET utf8mb4;建立新資料庫專案初始化指定字元集避免亂碼
DROP DATABASE db_name;刪除資料庫 (慎用!)環境清理不可逆操作,無確認提示

資料表層級核心指令

指令功能關鍵參數實戰範例
SHOW TABLES;列出當前庫所有表LIKE 'prefix_%' 過濾SHOW TABLES LIKE 'order_%';
DESCRIBE tbl_name; / SHOW COLUMNS FROM tbl_name;查看表結構 (欄位、型別、鍵、預設值)DESC user;欄位 Field, Type, Null, Key, Default, Extra
SHOW CREATE TABLE tbl_name;顯示建表完整 SQL含索引、引擎、字元集遷移/備份/文檔化必備
SHOW INDEX FROM tbl_name;查看索引詳情Key_name, Seq_in_index, Cardinality分析索引選擇性、發現重複索引
SHOW TABLE STATUS LIKE 'tbl_name';表級統計資訊Rows, Data_length, Index_length, Auto_increment容量規劃、碎片檢測

進階組合查詢技巧

1. 獲取所有表大小排名

SELECT TABLE_NAME,
       ROUND((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024, 2) AS 'Size_MB',
       TABLE_ROWS
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'your_db'
ORDER BY (DATA_LENGTH + INDEX_LENGTH) DESC;

2. 找出無主鍵的表

SELECT TABLE_NAME
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'your_db'
  AND TABLE_TYPE = 'BASE TABLE'
  AND TABLE_NAME NOT IN (
    SELECT TABLE_NAME FROM information_schema.TABLE_CONSTRAINTS
    WHERE CONSTRAINT_TYPE = 'PRIMARY KEY' AND TABLE_SCHEMA = 'your_db'
);

3. 批量查看表結構 (Shell 一行流)

mysql -uroot -p -e "USE your_db; SHOW TABLES;" -s -N | xargs -I{} mysql -uroot -p -e "DESC your_db.{};"

新手避坑指南

  1. 分號結尾:所有 SQL 陳述式必須以 ; 或 \g 結束。
  2. 大小寫不敏感:關鍵字大小寫皆可,但建議關鍵字大寫、識別子小寫。
  3. 反引號保護:表名、欄位名建議用 ` 包裹,防止保留字衝突:SELECT `select` FROM `order`;
  4. 權限最小化:日常操作使用具備特定庫權限的帳號,避免直接用 root。
  5. 資訊庫:information_schema 是元數據查詢的權威來源,善用它替代 SHOW 指令進行程式化查詢。

熟練掌握這 7+ 核心指令與組合查詢模式,能讓你在 MySQL 日常運維、開發除錯、架構審查中游刃有餘,是 DBA 與後端工程師的必修基本功。

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