掌握 MySQL 基礎指令是資料庫管理與開發的基本功。本文將常用指令分為五大類,並補充實用範例,適合初學者建立完整知識框架,也可作為資深工程師的快速查閱手冊。
net stop mysql
net start mysql
Windows 環境下以系統管理員執行;Linux 請使用systemctl或service指令。
mysql -u root -p
# 提示輸入密碼後進入 mysql> 提示符
# 遠端連線
mysql -h 192.168.1.100 -u root -p
-- 完整語法
GRANT 權限 ON 資料庫.表 TO '使用者'@'主機' IDENTIFIED BY '密碼';
-- 範例:建立 user1,允許本機登入,擁有所有資料庫的增刪改查權限
GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO 'user1'@'localhost' IDENTIFIED BY 'password1';
-- 允許任意主機登入(% 為萬用字元)
GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO 'user1'@'%' IDENTIFIED BY 'password1';
-- 建立無密碼使用者(不建議生產環境使用)
GRANT SELECT, INSERT, UPDATE, DELETE ON mydb.* TO 'user1'@'localhost' IDENTIFIED BY '';
登入後於 mysql> 提示符下執行,每行以分號結尾。
SHOW DATABASES;
USE mysql;
SHOW TABLES;
DESCRIBE 表名;
-- 或
SHOW COLUMNS FROM 表名;
CREATE DATABASE db_name;
DROP DATABASE db_name;
USE db_name;
CREATE TABLE table_name (id INT PRIMARY KEY, name VARCHAR(20));
DROP TABLE table_name;
DELETE FROM table_name;
-- 或效能更好的
TRUNCATE TABLE table_name;
SELECT * FROM table_name;
mysqldump -u root -p db_name > backup.sql
mysqldump -u root -p db_name table1 table2 > tables_backup.sql
mysql -u root -p db_name < backup.sql
-- 或在 mysql 客戶端內
SOURCE /path/to/backup.sql;
USE db_name;
LOAD DATA LOCAL INFILE 'data.txt' INTO TABLE table_name;
-- 建立測試資料庫與資料表
CREATE DATABASE MYSQLDATA;
USE MYSQLDATA;
CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));
INSERT INTO MYTABLE VALUES ('hyq','M');
-- 匯入外部 SQL 檔
SOURCE d:/mysql.sql;
-- 更新資料
UPDATE MYTABLE SET sex='f' WHERE name='hyq';
-- 遠端連線範例
mysql -h 110.110.110.110 -u root -p abcd123
-- 備份指令
mysqldump -u root db_name > xxx.data
熟練這些指令能大幅提升資料庫操作效率。建議在測試環境多加練習,並養成操作前備份的好習慣。