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

MySQL 入門指令速查:安裝、連線、資料庫/表/用戶操作全攻略

     編輯:MySQL 資料庫相關知識

前言

本文彙整 MySQL 日常操作的核心指令,涵蓋服務管理、連線參數、資料庫/表/資料/用戶的增刪改查,適合初學者快速上手與資深工程師備查。

一、服務管理

作業WindowsLinux (systemd)Linux (SysVinit)
啟動net start MySQLsystemctl start mysqldservice mysqld start
停止net stop MySQLsystemctl stop mysqldservice mysqld stop
重啟net stop MySQL && net start MySQLsystemctl restart mysqldservice mysqld restart
狀態sc query MySQLsystemctl status mysqldservice mysqld status

二、連線指令

# 完整參數
mysql -h 主機 -u 用戶 -p密碼 資料庫名稱
# 範例(密碼前無空格)
mysql -h 127.0.0.1 -u root -p123456 testdb

# 互動式輸入密碼(較安全)
mysql -h 127.0.0.1 -u root -p testdb
Enter password: ********
  • -h:主機(本機可省略)。
  • -u:用戶名。
  • -p:密碼(緊跟參數或互動輸入)。
  • 尾參數為預設資料庫(可省略,進入後 USE db; 切換)。

三、資料庫操作

CREATE DATABASE db_name [CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci];
SHOW DATABASES;
USE db_name;
DROP DATABASE db_name;

四、資料表操作

建表範例

CREATE TABLE guestbook (
    id INT UNSIGNED NOT NULL AUTO_INCREMENT,
    url VARCHAR(100) DEFAULT '#',
    ip VARCHAR(45) DEFAULT NULL,
    email VARCHAR(100) DEFAULT '#',
    qq VARCHAR(20) DEFAULT NULL,
    created_at DATETIME DEFAULT NULL,
    content TEXT,
    name VARCHAR(20) DEFAULT '匿名',
    PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

常用指令

操作指令
顯示所有表SHOW TABLES;
檢視表結構DESC table_name; 或 SHOW COLUMNS FROM table_name;
檢視建表語句SHOW CREATE TABLE table_name;
修改引擎ALTER TABLE table_name ENGINE=InnoDB;
刪除表DROP TABLE table_name;
清空表(重置自增)TRUNCATE TABLE table_name;

五、資料操作 (DML)

-- 插入單筆
INSERT INTO guestbook (url, ip, email, qq, created_at, content, name)
VALUES ('https://example.com', '127.0.0.1', 'a@b.com', '12345', NOW(), '測試留言', '張三');

-- 批次插入
INSERT INTO guestbook (url, ip, email, qq, created_at, content, name) VALUES
('https://a.com', '10.0.0.1', 'a@a.com', '111', NOW(), '內容1', '甲'),
('https://b.com', '10.0.0.2', 'b@b.com', '222', NOW(), '內容2', '乙');

-- 從檔案匯入 (本機檔案)
LOAD DATA LOCAL INFILE 'data.txt' INTO TABLE guestbook
LINES TERMINATED BY '\r\n';

-- 查詢
SELECT * FROM guestbook;
SELECT id, name, content FROM guestbook WHERE id > 10 ORDER BY id DESC LIMIT 20;

-- 更新
UPDATE guestbook SET name='李四' WHERE id=1;

-- 刪除
DELETE FROM guestbook WHERE id=1;
DELETE FROM guestbook;  -- 清空全表

六、用戶與權限管理

查看現有用戶

USE mysql;
SELECT user, host FROM user;

建立用戶(MySQL 5.7+ 推薦)

CREATE USER 'app'@'%' IDENTIFIED BY 'StrongPass123!';
CREATE USER 'readonly'@'10.0.%' IDENTIFIED BY 'ReadOnly456!';

授權常用範例

需求指令
全庫全權限(含授權權限)GRANT ALL PRIVILEGES ON *.* TO 'app'@'%' WITH GRANT OPTION;
特定庫讀寫GRANT SELECT,INSERT,UPDATE,DELETE ON mydb.* TO 'app'@'%';
唯讀帳號GRANT SELECT ON mydb.* TO 'readonly'@'10.0.%';
僅特定表權限GRANT SELECT,INSERT ON mydb.orders TO 'writer'@'%';

授權後必須 FLUSH PRIVILEGES; 生效(MySQL 8.0 通常自動生效,但保留習慣無妨)。

修改密碼

-- MySQL 5.7+
ALTER USER 'app'@'%' IDENTIFIED BY 'NewPass456!';
-- 或
SET PASSWORD FOR 'app'@'%' = 'NewPass456!';

查看權限

SHOW GRANTS FOR 'app'@'%';

刪除用戶

DROP USER 'app'@'%';

七、退出客戶端

QUIT;  -- 或 EXIT; 或 \q

八、常見中文亂碼快速修正

  1. 設定檔 [mysqld] 區段加入 character-set-server=utf8mb4、collation-server=utf8mb4_general_ci。
  2. 客戶端區段 [client]、[mysql] 加入 default-character-set=utf8mb4。
  3. 重啟服務。
  4. 連線字串加入 ?characterEncoding=utf8mb4(JDBC)或執行 SET NAMES utf8mb4;。

總結

掌握上述指令即可應付 90% 日常 MySQL 運維開發工作。建議搭配 mysql --help、官方文件與 SHOW VARIABLES/STATUS 深入探索。

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