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

MySQL 必知必會 (第 1 部分):啟動、連線、庫表操作、備份、索引、分頁、不支援功能清單

     編輯:MySQL 綜合教學

MySQL 廣泛應用於中小企業,憑藉開源免費、易管理、效能優異成為 LAMP 棧核心組件。本文整理從啟動連線到進階索引、分頁、限制功能的核心知識點,作為開發者、運維者的桌邊速查卡片。

一、基礎連線與庫表操作

net start mysql (Win) / service mysql start (Linux)mysql -u root -p / mysql -h localhost -u root -p dbnameSHOW DATABASES;USE dbname;SHOW TABLES;SHOW COLUMNS FROM tblname; / DESCRIBE tblname;_ 單字符、% 多字符 (LIKE 配合使用); 或 \g
操作命令
啟動服務
連線
列出資料庫
選擇資料庫
列出資料表
顯示表結構
通配符
每句結尾

二、資訊查詢函數

SELECT NOW();          -- 當前日期時間
SELECT USER();         -- 當前連線用戶
SELECT VERSION();      -- 服務版本
SELECT DATABASE();     -- 當前資料庫

三、帳號與權限

-- 新增管理員
GRANT ALL ON *.* TO 'user'@'localhost' IDENTIFIED BY 'password';

-- 刷新權限
FLUSH PRIVILEGES;

四、備份與恢復

mysqldump -u root -p dbname > backup.sqlmysqldump -u root -p dbname tbl > tbl.sqlmysql -u root -p dbname < backup.sqlrm -f dbname/tbl.*
場景命令
備份整庫
備份單表
恢復整庫
刪除表 (檔案級,慎用)

五、臨時表與條件建表

-- 臨時表 (連線關閉自動銷毀)
CREATE TEMPORARY TABLE tmp (name VARCHAR(10));

-- 若不存在則建表
CREATE TABLE IF NOT EXISTS students (...);

-- 復制結構 (不含資料)
CREATE TABLE tbl2 SELECT * FROM tbl1 WHERE 1<>1;

-- 完整復制 (結構+資料)
CREATE TABLE tbl2 SELECT * FROM tbl1;

六、表結構變更 (ALTER TABLE)

ALTER TABLE tbl1 RENAME TO tbl2;ALTER TABLE tbl1 MODIFY id INT UNSIGNED;ALTER TABLE tbl1 CHANGE id sid INT UNSIGNED;ALTER TABLE tbl1 ADD INDEX idx_id (id);ALTER TABLE tbl1 ADD UNIQUE INDEX idx_id (id);DROP INDEX idx_id ON tbl1; / ALTER TABLE tbl1 DROP INDEX idx_id;
操作命令
重命名表
修改欄位型別
重命名欄位+改型別
新增索引
新增唯一索引
刪除索引

七、字串拼接與分頁

-- CONCAT 拼接
SELECT CONCAT(id, ':', name, '=') FROM students;

-- LIMIT 分頁 (第一筆 offset=0)
SELECT * FROM students ORDER BY id LIMIT 9, 10;  -- 第 2 頁,每頁 10 筆

八、MySQL 不支援功能 (版本相關,5.0 前)

  • ❌ 事務 (InnoDB 已支援)
  • ❌ 視圖 (5.0+ 支援)
  • ❌ 外鍵約束 (InnoDB 已支援)
  • ❌ 儲存過程/觸發器 (5.0+ 支援)

注意:現代版本 (5.7/8.0) 已全面支援上述功能,僅作歷史參考。

九、索引使用條件與代價

會使用索引的運算子

<, <=, >=, >, =, BETWEEN, IN, LIKE 'prefix%' (不以 %/_ 開頭)

索引的三大代價

  1. 寫入效能下降 (INSERT/UPDATE/DELETE 需維護索引樹)
  2. 佔用磁碟空間 (輔助索引約佔資料大小 10-30%)
  3. 優化器負擔增加 (過多索引導致執行計劃選擇變慢、甚至選錯)

十、索引效率分析 (EXPLAIN)

EXPLAIN SELECT * FROM students WHERE id = 10;
-- 關鍵欄位:type (const/ref/range/index/all)、key (實際用到的索引)、rows (預估掃描行數)

總結

掌握上述「連線→庫表→備份→結構變更→索引→分頁→限制」知識鏈,覆蓋 80% 日常 MySQL 操作場景。建議配合 EXPLAIN 養成「寫 SQL 必看執行計劃」習慣,讓索引真正為查詢提速。

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