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

MySQL 常用 SQL 語句速查:DDL、DML、索引、權限一網打盡

     編輯:MySQL 資料庫相關知識

開發與運維高頻使用的 MySQL SQL 語句彙總,涵蓋庫表結構查詢、DDL 變更、DML 操作、索引管理、權限控制,適合貼在工位牆上隨時查閱。

庫表結構查詢

SHOW DATABASES;
USE db_name;
SHOW TABLES;
DESC tbl_name;           -- 等同 SHOW COLUMNS FROM tbl_name
SHOW CREATE TABLE tbl_name;
SHOW INDEX FROM tbl_name;

DDL:表結構變更

-- 重命名表
ALTER TABLE old_name RENAME new_name;

-- 新增欄位
ALTER TABLE tbl_name ADD COLUMN col_name col_definition;

-- 刪除欄位
ALTER TABLE tbl_name DROP COLUMN col_name;

-- 修改欄位定義 (CHANGE 需指定舊名,MODIFY 僅改定義)
ALTER TABLE tbl_name CHANGE old_col new_col new_definition;
ALTER TABLE tbl_name MODIFY col_name new_definition;

-- 索引管理
ALTER TABLE tbl_name ADD INDEX idx_name (col1, col2);
ALTER TABLE tbl_name ADD UNIQUE uniq_idx (col_name);
ALTER TABLE tbl_name ADD PRIMARY KEY (col_name);
ALTER TABLE tbl_name DROP INDEX idx_name;

DML:資料操作

-- 插入
INSERT INTO tbl_name (col1, col2) VALUES ('val1', 123);

-- 更新
UPDATE tbl_name SET col1 = 'new' WHERE col2 = 3;

-- 刪除
DELETE FROM tbl_name WHERE condition;

-- 查詢去重
SELECT DISTINCT col1 FROM tbl_name;

庫表刪除(謹慎使用)

DROP TABLE tbl_name;
DROP DATABASE db_name;   -- 等同 mysql_drop_db()

權限管理

-- 建立用戶並授權
GRANT SELECT, INSERT ON db.* TO 'user'@'host' IDENTIFIED BY 'pass';

-- 刪除授權
REVOKE ALL PRIVILEGES ON *.* FROM 'user'@'host';
DELETE FROM mysql.user WHERE User='user' AND Host='host';
FLUSH PRIVILEGES;

備份/還原相關

-- mysqldump 導出結構
mysqldump -d -u root -p db_name > schema.sql

-- mysqldump 導出資料
mysqldump -t -u root -p db_name > data.sql

-- 純文字檔導出 (配合 LOAD DATA)
mysqldump -T /tmp/export -u root -p db_name tbl_name

版本與日期

SELECT VERSION(), CURRENT_DATE;

收藏本表,日常開發運維不再翻文檔。

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