萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> MySQL 教學

MySQL 資料庫基礎知識體系回顧:表、索引、存儲引擎、字元集

一、資料表核心要素

欄位定義

名稱、型別、屬性(NOT NULL, DEFAULT, AUTO_INCREMENT 等)。

約束

建表、修改表、刪除表

CREATE TABLE t (id INT PRIMARY KEY, name VARCHAR(20) NOT NULL) ENGINE=InnoDB;
ALTER TABLE t ADD age TINYINT DEFAULT 0;
DROP TABLE t;

資料操作(CRUD)

INSERT INTO t (name) VALUES ('A'), ('B');
SELECT * FROM t WHERE id = 1;
UPDATE t SET name='C' WHERE id=1;
DELETE FROM t WHERE id=1;

別名與去重

SELECT id AS uid, name AS uname FROM t;
SELECT DISTINCT name FROM t;

範圍、集合、模糊查詢

WHERE age BETWEEN 18 AND 30;
WHERE status IN (1,2,3);
WHERE name LIKE '張%';      -- 以張開頭
WHERE name LIKE '%偉';      -- 以偉結尾
WHERE name LIKE '%強%';     -- 包含強

二、索引體系

約束關鍵字說明
非空NOT NULL禁止 NULL
唯一UNIQUE值唯一,允許多 NULL
主鍵PRIMARY KEY非空+唯一,隱含聚簇索引
外鍵FOREIGN KEY參考完整性,支援 CASCADE/SET NULL
檢查CHECKMySQL 8.0.16+ 生效
類型關鍵字特點
主鍵索引PRIMARY KEY唯一、非空、聚簇索引
唯一索引UNIQUE值唯一,允許 NULL
普通索引INDEX / KEY加速查詢,可重複、可 NULL
全文索引FULLTEXT大文本搜尋,MySQL 5.6+ InnoDB 支援

三、存儲引擎對比

引擎事務鎖粒度外鍵全文索引適用場景
InnoDB✓行鎖✓5.6+ ✓核心業務、高併發、需事務
MyISAM✗表鎖✗✓唯讀、日誌、非關鍵數據
MEMORY✗表鎖✗✗臨時緩存、極速查詢
SHOW ENGINES;  -- 查看支援引擎

四、字元集與定序

  • 層級:Server → Database → Table → Column。
  • 建庫建表顯式指定:CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci。
  • 配置檔鎖定:character-set-server=utf8mb4、collation-server=utf8mb4_general_ci。
  • 連線設定:SET NAMES utf8mb4 或驅動參數 characterEncoding=utf8mb4。
  • Windows 命令列顯示中文:SET NAMES gbk 或終端機 chcp 65001。
copyright © 萬盛學電腦網 all rights reserved