MySQL 核心操作語句完整速查手冊
登錄與基礎導航
# 本地登錄
mysql -u root -p
# 遠程登錄
mysql -h 110.110.110.110 -u root -p'abcd123'
# 退出
EXIT; 或 \q
# 查看版本/日期
SELECT VERSION(), CURRENT_DATE();
數據庫級操作
SHOW DATABASES;
CREATE DATABASE db_name;
DROP DATABASE db_name;
USE db_name;
SELECT DATABASE(); -- 確認當前庫
表級操作
SHOW TABLES;
DESC table_name; -- 結構
CREATE TABLE mytable (
name VARCHAR(20),
sex CHAR(1),
birth DATE,
birthaddr VARCHAR(20)
);
DROP TABLE table1, table2; -- 可一次刪多表
-- 修改表結構
ALTER TABLE mytable ADD COLUMN single CHAR(1);
ALTER TABLE mytable DROP COLUMN single;
數據操作 (DML)
-- 插入
INSERT INTO mytable VALUES ('abccs','f','1977-07-07','china');
INSERT INTO mytable (name, sex) VALUES ('mary','f'); -- 指定列
-- 批量導入文本文件(字段用 Tab 分隔)
LOAD DATA LOCAL INFILE 'mytable.txt' INTO TABLE mytable;
-- 查詢
SELECT * FROM mytable;
SELECT name, birth FROM mytable ORDER BY birth DESC;
SELECT * FROM mytable WHERE sex='f' AND birthaddr='china';
-- 更新
UPDATE mytable SET birth='1973-09-02' WHERE name='tom';
-- 刪除
DELETE FROM mytable WHERE name='abc';
聚合與分組
SELECT COUNT(*) FROM mytable;
SELECT sex, COUNT(*) FROM mytable GROUP BY sex;
多表連接查詢
-- 隱式內連接
SELECT name, sex, title
FROM mytable, title
WHERE name = writer AND name = 'abccs';
-- 顯式內連接(推薦)
SELECT m.name, m.sex, t.title
FROM mytable m
INNER JOIN title t ON m.name = t.writer
WHERE m.name = 'abccs';
用戶與權限
-- 創建用戶並授權(僅本地訪問,安全)
GRANT SELECT, INSERT, UPDATE, DELETE ON mydb.* TO 'test2'@'localhost' IDENTIFIED BY 'abc';
-- 移除密碼
GRANT SELECT ON mydb.* TO 'test2'@'localhost' IDENTIFIED BY '';
-- 修改密碼
mysqladmin -u root -p'oldpass' password 'newpass';
備份與恢復
# 邏輯備份
mysqldump --opt db_name > backup.sql
# 恢復
mysql -u root -p db_name < backup.sql
# 批處理執行腳本
mysql -u root -p < batch.sql
mysql -u root -p < batch.sql | more
mysql -u root -p < batch.sql > output.txt
常用函數速查
| 分類 | 函數 | 示例 |
| 字符串 | CONCAT, SUBSTRING, TRIM, UPPER/LOWER | CONCAT('a','b') → 'ab' |
| 數學 | ABS, ROUND, FLOOR, RAND | ROUND(3.1415,2) → 3.14 |
| 日期 | NOW, DATE_FORMAT, DATEDIFF | DATE_FORMAT(NOW(),'%Y-%m-%d') |
| 條件 | IF, CASE, COALESCE | IF(score>60,'pass','fail') |