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

MySQL 數據庫操作手冊:從入門到進階核心命令大全

     編輯:MySQL 資料庫相關知識

連接與基礎操作

# 登錄
mysql -h 127.0.0.1 -u root -p          # 本機
mysql -h 192.168.1.10 -u root -p       # 遠程

# 退出
mysql> EXIT;  -- 或 QUIT, \q

# 查看版本/狀態
mysql> SELECT VERSION();
mysql> STATUS;

庫/表結構管理

操作命令示例
顯示所有庫SHOW DATABASES;
創建庫CREATE DATABASE db_name CHARSET utf8mb4;CREATE DATABASE shop DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;
刪除庫DROP DATABASE db_name;
切換庫USE db_name;
顯示當前庫表SHOW TABLES;
查看表結構DESC table_name; / SHOW COLUMNS FROM table_name;DESC users;
查看建表語句SHOW CREATE TABLE table_name;
查看索引SHOW INDEX FROM table_name;

數據增刪改查 (CRUD)

-- 插入
INSERT INTO users(name, email) VALUES ('張三', 'zhang@example.com');
INSERT INTO users(name, email) VALUES ('李四', 'li@example.com'), ('王五', 'wang@example.com');

-- 查詢
SELECT id, name FROM users WHERE status = 1 ORDER BY id DESC LIMIT 10;
SELECT COUNT(*) AS total FROM users;
SELECT SUM(amount) AS total_sales FROM orders WHERE created_at > '2024-01-01';

-- 更新
UPDATE users SET status = 2 WHERE id = 100;

-- 刪除
DELETE FROM users WHERE last_login < '2023-01-01';
TRUNCATE TABLE logs;  -- 快速清空表(不可回滾)

用戶與權限管理

-- 創建用戶 (5.7+)
CREATE USER 'app'@'%' IDENTIFIED BY 'StrongPass123!';

-- 授權
GRANT SELECT, INSERT, UPDATE, DELETE ON shop.* TO 'app'@'%';
GRANT ALL PRIVILEGES ON shop.* TO 'admin'@'10.0.1.%';

-- 查看權限
SHOW GRANTS FOR 'app'@'%';

-- 回收權限
REVOKE DELETE ON shop.* FROM 'app'@'%';

-- 修改密碼
ALTER USER 'app'@'%' IDENTIFIED BY 'NewPass456!';

-- 刪除用戶
DROP USER 'app'@'%';

表結構變更 (DDL)

-- 添加列
ALTER TABLE users ADD COLUMN phone VARCHAR(20) AFTER email;

-- 修改列
ALTER TABLE users MODIFY COLUMN phone VARCHAR(30) NOT NULL DEFAULT '';

-- 刪除列
ALTER TABLE users DROP COLUMN phone;

-- 添加索引
CREATE INDEX idx_email ON users(email);
ALTER TABLE users ADD INDEX idx_status (status);

-- 刪除索引
DROP INDEX idx_email ON users;

-- 修改表名
RENAME TABLE users TO members;

視圖操作

CREATE VIEW v_active_users AS SELECT id, name, email FROM users WHERE status = 1;
DROP VIEW v_active_users;

批量執行 SQL 文件

# 命令行導入
mysql -h 127.0.0.1 -u root -p db_name < schema.sql

# 客戶端內部
mysql> SOURCE /path/to/schema.sql;

常用聚合與分析函數

函數說明示例
COUNT(*)行數SELECT COUNT(*) FROM orders
SUM(col)求和SELECT SUM(amount) FROM orders
AVG(col)平均值SELECT AVG(score) FROM exams
MAX/MIN(col)極值SELECT MAX(price) FROM products
GROUP BY分組聚合SELECT status, COUNT(*) FROM orders GROUP BY status
HAVING分組過濾SELECT user_id, COUNT(*) FROM orders GROUP BY user_id HAVING COUNT(*) > 5

進階查詢技巧

-- 模糊查詢
SELECT * FROM articles WHERE title LIKE '%MySQL%';

-- 多表連接
SELECT u.name, o.amount FROM users u JOIN orders o ON u.id = o.user_id;

-- 子查詢
SELECT * FROM products WHERE category_id IN (SELECT id FROM categories WHERE name = '電子產品');

-- 聯合查詢
SELECT name FROM users UNION SELECT name FROM admins;

優化與維護

-- 分析表統計信息
ANALYZE TABLE users;

-- 優化表(整理碎片、回收空間)
OPTIMIZE TABLE users;

-- 檢查表錯誤
CHECK TABLE users;

-- 修復表 (MyISAM)
REPAIR TABLE users;

掌握以上核心命令,覆蓋 95% 日常 MySQL 運維開發場景。建議收藏備查,實踐中構建肌肉記憶。

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