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

MySQL 終端命令行全攻略:庫、表、數據增刪改查與管理操作速查手冊

     編輯:MySQL 資料庫相關知識

前言

圖形工具雖直觀,但**命令行是理解 MySQL 內核機制的最短路徑**。本文系統整理庫/表/數據全生命周期操作,適合打印備查。

一、數據庫級操作

-- 1.1 創建庫(指定字符集排序規則)
CREATE DATABASE firstDB CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

-- 1.2 查看所有庫
SHOW DATABASES;

-- 1.3 修改庫字符集
ALTER DATABASE testDB CHARACTER SET utf8mb4;

-- 1.4 切換當前庫
USE firstDB;

-- 1.5 查看當前庫
SELECT DATABASE();

-- 1.6 刪除庫(慎用!)
DROP DATABASE firstDB;

二、數據表級操作

2.1 創建表(規範示例)

CREATE TABLE PEOPLE (
  ID INT AUTO_INCREMENT PRIMARY KEY COMMENT '主鍵',
  NAME VARCHAR(20) NOT NULL COMMENT '姓名',
  AGE INT NOT NULL COMMENT '年齡',
  BIRTHDAY DATETIME COMMENT '出生日期'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='人員表';

2.2 查看表列表與結構

SHOW TABLES;
DESC PEOPLE;  -- 或 DESCRIBE PEOPLE; SHOW COLUMNS FROM PEOPLE;

2.3 修改表結構(ALTER TABLE)

-- 2.3.1 添加列
ALTER TABLE PEOPLE ADD COLUMN star BOOL COMMENT '是否明星';
-- MySQL 內部 BOOL → TINYINT(1)

-- 2.3.2 修改列(類型/長度/默認值/註釋)
ALTER TABLE PEOPLE MODIFY COLUMN star INT COMMENT '改為整型';

-- 2.3.3 刪除列
ALTER TABLE PEOPLE DROP COLUMN star;

-- 2.3.4 重命名表
RENAME TABLE PEOPLE TO NEW_PEOPLE;
-- 或
ALTER TABLE PEOPLE RENAME TO NEW_PEOPLE;

-- 2.3.5 修改表字符集(僅影響新列,存量需 CONVERT)
ALTER TABLE NEW_PEOPLE CONVERT TO CHARACTER SET utf8mb4;

2.4 基於現有表創建新表

-- 僅結構
CREATE TABLE newTable LIKE PEOPLE;

-- 結構+數據
CREATE TABLE newTable SELECT * FROM PEOPLE;

-- 指定列+條件
CREATE TABLE young_people SELECT id, name FROM PEOPLE WHERE age < 30;

三、數據操作(DML)

3.1 插入(INSERT)

-- 全列插入(自增列填 NULL/DEFAULT/0)
INSERT INTO PEOPLE VALUES (NULL, 'Anny', 22, '1992-05-22');

-- 指定列插入
INSERT INTO PEOPLE (NAME, AGE, BIRTHDAY) VALUES ('Garvey', 23, '1991-05-22');

-- 批量插入
INSERT INTO PEOPLE (NAME, AGE, BIRTHDAY) VALUES 
('Lisa', 25, '1989-05-22'), ('Nick', 24, '1990-05-22'), ('Rick', 24, '1991-05-22');

3.2 刪除(DELETE)

-- 條件刪除
DELETE FROM PEOPLE WHERE NAME = 'Lisa';

-- 全表清空(保留自增值、觸發器、權限)
TRUNCATE TABLE PEOPLE;  -- 等同 DROP + CREATE,極快,不可回滾

3.3 更新(UPDATE)

UPDATE PEOPLE SET NAME = 'Calvin' WHERE NAME = 'Garvey';

3.4 查詢(SELECT)進階

-- 全列
SELECT * FROM PEOPLE;

-- 指定列
SELECT NAME, AGE, BIRTHDAY FROM PEOPLE;

-- 去重
SELECT DISTINCT AGE FROM PEOPLE;

-- 排序
SELECT * FROM PEOPLE ORDER BY AGE DESC, NAME ASC;

-- 條件過濾
SELECT * FROM PEOPLE WHERE AGE >= 23 AND NAME LIKE 'N%';

-- 分頁
SELECT * FROM PEOPLE ORDER BY ID LIMIT 2, 2;  -- 第 2 頁,每頁 2 條

-- 聚合
SELECT AGE, COUNT(*) AS cnt FROM PEOPLE GROUP BY AGE HAVING cnt > 1;

四、Mac 終端 Tab 補全技巧

MySQL 命令**不區分大小寫**,但 Mac 終端 Tab 自動補全**只識別大寫關鍵字**。

# 輸入 SEL + Tab → 自動補全為 SELECT
# 輸入 SHOW TAB + Tab → 自動補全為 SHOW TABLES
# 建議:習慣大寫關鍵字,提升輸入效率

五、常用系統信息查詢

SELECT VERSION();           -- 版本
SELECT CURRENT_USER();      -- 當前用戶
SHOW PROCESSLIST;           -- 當前線程
SHOW VARIABLES LIKE 'max_connections';  -- 參數查看
SHOW ENGINE INNODB STATUS;  -- InnoDB 狀態

總結

命令行操作覆蓋 MySQL 90%+ 日常管理場景。**熟練掌握 CREATE/ALTER/DROP、INSERT/DELETE/UPDATE/SELECT、SHOW/DESC/EXPLAIN** 這 12 個核心指令族,即可應對絕大多數開發運維需求。

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