首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 基礎命令與常用操作速查表

     編輯:MySQL 綜合教學

服務管理

net start mysql          # Windows 啟動
net stop mysql           # Windows 停止
systemctl start mysqld   # Linux systemd
systemctl stop mysqld

客戶端連線

mysql -u root -p                    # 本機
mysql -h host -u root -p dbname     # 遠端指定庫

資料庫/資料表查看

SHOW DATABASES;
USE db_name;
SHOW TABLES;
SHOW COLUMNS FROM table_name;  -- 或 DESC table_name
SHOW CREATE TABLE table_name;
SHOW CREATE DATABASE db_name;

建表與修改

-- 建表
CREATE TABLE IF NOT EXISTS students (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(20) NOT NULL,
    age TINYINT UNSIGNED DEFAULT 0
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- 增加欄位
ALTER TABLE students ADD COLUMN email VARCHAR(50);
ALTER TABLE students ADD COLUMN phone VARCHAR(20), ADD COLUMN addr VARCHAR(100);

-- 修改欄位型別/名稱
ALTER TABLE students MODIFY id BIGINT UNSIGNED;
ALTER TABLE students CHANGE id stu_id BIGINT UNSIGNED;

-- 重命名表
ALTER TABLE students RENAME AS users;

索引操作

-- 建立
ALTER TABLE t ADD INDEX idx_name (name);
CREATE INDEX idx_name ON t (name);
CREATE UNIQUE INDEX uk_email ON t (email);

-- 刪除
DROP INDEX idx_name ON t;
ALTER TABLE t DROP INDEX idx_name;

資料操作

-- 插入
INSERT INTO t (name, age) VALUES ('Tom', 18);
INSERT INTO t (name, age) VALUES ('A',1),('B',2),('C',3);

-- 查詢
SELECT * FROM t WHERE name LIKE 'Tom%';
SELECT * FROM t ORDER BY id DESC LIMIT 10, 20;  -- 分頁

-- 更新
UPDATE t SET age = 20 WHERE name = 'Tom';

-- 刪除
DELETE FROM t WHERE age > 60;
TRUNCATE TABLE t;  -- 清空並重置自增

備份與還原

# 備份
mysqldump -u root -p db_name > backup.sql
mysqldump -u root -p db_name table1 table2 > tables.sql

# 還原
mysql -u root -p db_name < backup.sql
# 或進入 mysql> SOURCE backup.sql;

權限管理

CREATE USER 'app'@'%' IDENTIFIED BY 'pass';
GRANT SELECT, INSERT, UPDATE, DELETE ON db_name.* TO 'app'@'%';
FLUSH PRIVILEGES;

系統資訊

SELECT NOW();           -- 當前時間
SELECT USER();          -- 當前用戶
SELECT VERSION();       -- 版本
SELECT DATABASE();      -- 當前庫

效能分析

EXPLAIN SELECT * FROM t WHERE name = 'Tom';
SHOW PROCESSLIST;
SHOW ENGINE INNODB STATUS\G

MySQL 不支援功能(舊版本)

  • 事務(MyISAM)、視圖、外鍵、儲存程序、觸發器 — **InnoDB 5.5+ 全支援**

會使用索引的運算子

<, <=, >=, >, =, BETWEEN, IN, LIKE 'prefix%'

使用索引的缺點

  1. 降低寫入速度
  2. 佔用磁碟空間
  3. 增加優化器負擔

速查表適合離線備份,建議列印貼在工位。生產環境操作前請三思、備份、驗證。

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