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

Windows 平台 MySQL 常用操作命令大全:從入門到進階

     編輯:MySQL 資料庫相關知識

在 Windows 環境下管理 MySQL,熟練掌握命令列工具與 SQL 語法是 DBA 與開發者的基本功。本文彙整資料庫匯入匯出、服務控制、庫表操作、資料操作、使用者授權、備份還原等高頻命令,附帶實戰範例供快速查閱。

一、資料庫匯入匯出

1. 匯出整個資料庫

mysqldump -u 用戶名 -p --default-character-set=latin1 資料庫名 > 匯出檔案.sql
mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql

2. 匯出單一資料表

mysqldump -u 用戶名 -p 資料庫名 表名 > 匯出檔案.sql
mysqldump -u wcnc -p smgp_apps_wcnc users > wcnc_users.sql

3. 只匯出結構(不含資料)

mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc > wcnc_db.sql
# -d: 無資料;--add-drop-table: 每個 CREATE 前加 DROP TABLE

4. 匯入資料庫

# 方式 A:source 指令(進入 mysql 控制台後)
mysql -u root -p
mysql> USE 資料庫名;
mysql> SOURCE 匯入檔案.sql;

# 方式 B:mysqldump 重導向
mysqldump -u username -p dbname < filename.sql

# 方式 C:mysql 指令重導向
mysql -u username -p -D dbname < filename.sql

二、服務啟動與連線

# 進入命令列客戶端
mysql -u root -p
# 退出
QUIT; 或 EXIT;

三、資料庫(庫)操作

CREATE DATABASE xhkdb;
SHOW DATABASES;
DROP DATABASE xhkdb;
USE xhkdb;
SELECT DATABASE();          -- 查看目前使用的資料庫
SHOW TABLES;                -- 查看目前資料庫的所有表

四、資料表操作

1. 建立資料表

CREATE TABLE MyClass(
    id INT(4) NOT NULL PRIMARY KEY AUTO_INCREMENT,
    name CHAR(20) NOT NULL,
    sex INT(4) NOT NULL DEFAULT '0',
    degree DOUBLE(16,2)
);

2. 查看表結構

DESCRIBE MyClass;
DESC MyClass;
SHOW COLUMNS FROM MyClass;

3. 刪除資料表

DROP TABLE MyClass;

4. 插入資料

INSERT INTO MyClass VALUES(1,'Tom',96.45),(2,'Joan',82.99),(3,'Wang',96.59);

5. 查詢資料

SELECT * FROM MyClass;
SELECT * FROM MyClass ORDER BY id LIMIT 0,2;  -- 前 2 筆

6. 刪除資料

DELETE FROM MyClass WHERE id=1;

7. 更新資料

UPDATE MyClass SET name='Mary' WHERE id=1;

8. 新增欄位

ALTER TABLE MyClass ADD passtest INT(4) DEFAULT '0';

9. 修改表名

RENAME TABLE MyClass TO YouClass;

10. 批次更新欄位內容

UPDATE 表名 SET 欄位名 = REPLACE(欄位名, '舊內容', '新內容');
UPDATE article SET content = CONCAT('    ', content);  -- 文章前加 4 空格

五、常用欄位型別速查

型別說明
INT[(M)]正常大小整數
DOUBLE[(M,D)]雙精度浮點數
DATE日期 1000-01-01 至 9999-12-31,顯示 YYYY-MM-DD
CHAR(M)定長字串,右側空格填充
VARCHAR(M)變長字串
BLOB/TEXT最大 65,535 字元

六、使用者授權與安全

-- 建立用戶並授權
GRANT USAGE ON test.* TO testuser@localhost IDENTIFIED BY 'password';
GRANT SELECT, INSERT, DELETE, UPDATE ON test.* TO testuser@localhost;

-- 移除匿名用戶、設定 root 密碼
USE mysql;
DELETE FROM User WHERE User='';
UPDATE User SET Password=PASSWORD('newpassword') WHERE User='root';
FLUSH PRIVILEGES;

常用權限說明

  • 全域管理:FILE、PROCESS、RELOAD、SHUTDOWN
  • 庫/表/欄:ALTER、CREATE、DELETE、DROP、INDEX、INSERT、SELECT、UPDATE
  • 特殊:ALL(等同 root)、USAGE(僅登入)

七、備份與還原腳本範例

# 建立資料庫並匯入
mysqladmin -u root -p CREATE auction
mysql -u root -p auction < auction.sql

# 完整備份
mysqldump --opt school > school.bbb

八、進階查詢語法精選

1. 分頁查詢(SQL Server 風格)

SELECT TOP 10 b.* FROM (
    SELECT TOP 20 主鍵, 排序欄位 FROM 表名 ORDER BY 排序欄位 DESC
) a, 表名 b WHERE b.主鍵 = a.主鍵 ORDER BY a.排序欄位;

2. 刪除重複記錄(保留最大 ID)

DELETE FROM 表名 WHERE id NOT IN (
    SELECT MAX(id) FROM 表名 GROUP BY col1, col2, ...
);

3. 隨機取樣

MySQL: SELECT * FROM 表名 ORDER BY RAND() LIMIT n;
SQL Server: SELECT TOP n * FROM 表名 ORDER BY NEWID();
Access: SELECT TOP n * FROM 表名 ORDER BY RND(id);

4. 條件分組統計(CASE WHEN)

SELECT type,
    SUM(CASE vender WHEN 'A' THEN pcs ELSE 0 END) AS A_pcs,
    SUM(CASE vender WHEN 'B' THEN pcs ELSE 0 END) AS B_pcs
FROM 表名 GROUP BY type;

九、MySQL 命令列小技巧

  • 忘記分號:直接輸入 ; 再按 Enter 即可結束指令。
  • 歷史指令:使用鍵盤 ↑ ↓ 翻閱歷史紀錄。

掌握上述命令與語法,即可應付 Windows 下 MySQL 絕大多數日常運維與開發需求。

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