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

MySQL常用命令大全:連線、授權、備份、資料匯入出、資料庫操作實戰速查

     編輯:MySQL 資料庫相關知識

連線MySQL


# 本地連線
mysql -u root -p

# 遠端連線
mysql -h 110.110.110.110 -u root -p'abcd123'

# 退出
exit

密碼修改


# 首次設定 (無舊密碼)
mysqladmin -u root password 'newpass'

# 變更密碼
mysqladmin -u root -p'oldpass' password 'newpass'

# SQL方式 (需登入)
UPDATE mysql.user SET Password=PASSWORD('newpass') WHERE User='root';
FLUSH PRIVILEGES;

使用者授權實戰

建立高權限本地管理帳號


GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'strongpass';

建立業務應用帳號 (最小權限、限制主機)


GRANT SELECT, INSERT, UPDATE, DELETE ON `mydb`.* TO 'appuser'@'localhost' IDENTIFIED BY 'apppass';

移除密碼 (僅測試環境)


GRANT SELECT, INSERT, UPDATE, DELETE ON `mydb`.* TO 'test'@'localhost' IDENTIFIED BY '';

資料庫與資料表操作

操作SQL命令
顯示資料庫SHOW DATABASES;
建立資料庫CREATE DATABASE school;
刪除資料庫DROP DATABASE school;
使用資料庫USE school;
顯示資料表SHOW TABLES;
檢視表結構DESCRIBE teacher;
建立資料表CREATE TABLE teacher (id INT AUTO_INCREMENT PRIMARY KEY, name CHAR(10), address VARCHAR(50) DEFAULT '深圳', year DATE);
刪除資料表DROP TABLE teacher;
清空資料表DELETE FROM teacher; 或 TRUNCATE TABLE teacher;
查詢所有資料SELECT * FROM teacher;

完整建庫建表插入範例


DROP DATABASE IF EXISTS school;
CREATE DATABASE school;
USE school;

CREATE TABLE teacher (
    id INT(3) AUTO_INCREMENT NOT NULL PRIMARY KEY,
    name CHAR(10) NOT NULL,
    address VARCHAR(50) DEFAULT '深圳',
    year DATE
);

INSERT INTO teacher VALUES ('', 'glchengang', '深圳一中', '1976-10-10');
INSERT INTO teacher VALUES ('', 'jack', '深圳一中', '1975-12-23');

批次執行SQL腳本檔


# 將上述命令存為 school.sql
mysql -u root -p'pass' < school.sql
# 或在 MySQL 客戶端
SOURCE school.sql;

文字檔資料匯入 (LOAD DATA)


# 資料格式:欄位以 Tab 分隔,NULL 用 \N 表示
# 檔案內容範例:
3	rose	深圳二中	1976-10-10
4	mike	深圳一中	1975-12-23

# 匯入命令
USE school;
LOAD DATA LOCAL INFILE 'data.txt' INTO TABLE teacher;

mysqldump 備份與恢復


# 備份單一資料庫
mysqldump --opt school > school_backup.sql

# 備份多個資料庫
mysqldump --opt --databases db1 db2 > multi_backup.sql

# 完整備份 (含 mysql 系統庫)
mysqldump --opt --all-databases > full_backup.sql

# 僅結構
mysqldump -u root -p -d school > schema.sql

# 僅資料
mysqldump -u root -p -t school > data.sql

# 恢復
mysql -u root -p school < school_backup.sql

資料表重命名與結構變更


# 重命名
RENAME TABLE ztemp TO ztemp4;

# 修改欄位屬性
ALTER TABLE bbabase CHANGE news_id id VARCHAR(5) NOT NULL;

# 新增欄位 (指定位置)
ALTER TABLE bbabase ADD leave_time DATETIME NOT NULL AFTER content;

操作技巧

  • 忘記分號:另起行輸入 ; 即可結束命令
  • 歷史命令:上下鍵調取 (需支援 readline 的客戶端)
  • 多行命令:自然換行,以分號結束
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved