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

MySQL 常用命令大全:備份還原、資料操作、結構管理、權限控制速查手冊

     編輯:MySQL 綜合教學

MySQL 常用命令大全速查手冊

備份與還原

操作命令
完整備份 (含結構+資料)mysqldump -h host -u user -p --opt db_name > backup.sql
僅結構mysqldump -h host -d -u user -p db_name > structure.sql
單表備份mysqldump --opt --add-drop-table -u user -p db_name tbl_name > dump.sql
含密碼自動化 (不安全,僅測試)mysqldump -h host -u user --password=123456 --opt db_name > backup.sql
還原 (登入後)mysql> SOURCE backup.sql;
還原 (命令列)mysql -u user -p db_name < backup.sql

資料查詢與處理

操作SQL
查詢結果導出檔案SELECT title FROM book INTO OUTFILE '/tmp/outfile.txt';
查重複記錄 (依 peopleId)SELECT * FROM people WHERE peopleId IN (SELECT peopleId FROM people GROUP BY peopleId HAVING COUNT(*) > 1);
去重查詢 (DISTINCT)SELECT * FROM phome_ecms_wma WHERE title IN (SELECT DISTINCT title FROM phome_ecms_wma);
刪除重複保留一筆SELECT *,COUNT(DISTINCT title) INTO OUTFILE '/tmp/t.bak' FROM t GROUP BY title; DELETE FROM t; LOAD DATA INFILE '/tmp/t.bak' REPLACE INTO TABLE t CHARACTER SET utf8;

編碼與字符集

SHOW VARIABLES LIKE 'character_set_%';  -- 查看所有字符集設定
SET NAMES utf8;  -- 等同於設定 client/results/connection 三者為 utf8

結構管理 (DDL)

操作SQL
修改欄位型別ALTER TABLE t CHANGE col col DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00';
新增欄位ALTER TABLE host ADD ks_mac VARCHAR(100);
刪除欄位ALTER TABLE t DROP col;
重命名表ALTER TABLE t1 RENAME t2;
加普通索引ALTER TABLE t ADD INDEX idx_name (col);
加主鍵ALTER TABLE t ADD PRIMARY KEY (id);
加唯一索引ALTER TABLE t ADD UNIQUE uk_card (cardnumber);
刪除索引ALTER TABLE t DROP INDEX idx_name;

遠程授權

GRANT ALL PRIVILEGES ON db_name.* TO 'root'@'192.168.1.9' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;

快速參考卡

  • \G 結尾:垂直顯示結果 (適合寬表)
  • SHOW PROCESSLIST;:查看當前執行緒
  • SHOW ENGINES;:引擎支援狀態
  • SHOW CREATE TABLE t;:完整建表語句
  • EXPLAIN SELECT ...;:執行計劃分析
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved