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

MySQL 命令列常用操作指令速查表

     編輯:MySQL 資料庫相關知識

連線與授權

# 連線
mysql -h host -u user -p[password] db_name

# 退出
EXIT;  -- 或 QUIT、\q

# 建立用戶並授權
GRANT SELECT, INSERT ON db.* TO 'user'@'host' IDENTIFIED BY 'pass';

# 修改密碼
mysqladmin -u user -p'oldpass' password 'newpass'

# 回收權限
REVOKE SELECT, INSERT ON *.* FROM 'user'@'host';

資料庫操作

SHOW DATABASES;
CREATE DATABASE db_name CHARACTER SET utf8mb4;
USE db_name;
DROP DATABASE db_name;

資料表操作

SHOW TABLES;
DESCRIBE tbl_name;           -- 結構
SHOW CREATE TABLE tbl_name;  -- 建表語句

CREATE TABLE tbl (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(50) NOT NULL
) ENGINE=InnoDB;

ALTER TABLE t1 RENAME t2;
DROP TABLE tbl_name;
TRUNCATE TABLE tbl_name;     -- 快速清空,重置自增

資料操作 (DML)

SELECT * FROM tbl;
INSERT INTO tbl (name) VALUES ('test');
UPDATE tbl SET name='new' WHERE id=1;
DELETE FROM tbl WHERE id=1;

備份與還原

# 表備份
mysqldump -h host -u root -p db_name tbl_name > tbl_name.sql

# 表還原(先刪除原表)
mysql -h host -u root -p db_name < tbl_name.sql

# 庫備份
mysqldump -h host -u root -p db_name > db_name.sql

# 庫還原
mysql -h host -u root -p db_name < db_name.sql

# 全庫備份
mysqldump --all-databases > all_databases.sql

表結構變更 (DDL)

# 新增欄位
ALTER TABLE t2 ADD c INT UNSIGNED NOT NULL AUTO_INCREMENT, ADD INDEX (c);

# 修改欄位
ALTER TABLE t2 MODIFY a TINYINT NOT NULL, CHANGE b c CHAR(20);

# 刪除欄位
ALTER TABLE t2 DROP COLUMN c;

維護與修復

# 檢查並修復所有表
mysqlcheck -A -o -u root -p

# 匯入文本資料
LOAD DATA LOCAL INFILE 'file.txt' INTO TABLE tbl_name;

提示

  • 生產環境備份建議加 --single-transaction --routines --triggers --events 參數。
  • 大數據量匯入優先用 LOAD DATA INFILE,比 INSERT 快數量級。
  • 定期執行 ANALYZE TABLE 更新統計資訊,優化查詢計劃。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved