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

MySQL 基礎 SQL 語句大全:DDL、DML、DQL 速查手冊

     編輯:MySQL 綜合教學

MySQL 核心 SQL 語句分類速查手冊

涵蓋庫/表/列/行操作、約束、查詢子句,適合開發/運維快速查閱。

一、數據庫 (DATABASE) 操作

-- 創建
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name 
    [DEFAULT] CHARACTER SET [=] charset_name 
    [DEFAULT] COLLATE [=] collation_name;

-- 刪除
DROP {DATABASE | SCHEMA} [IF EXISTS] db_name;

-- 顯示
SHOW {DATABASES | SCHEMAS} [LIKE 'pattern' | WHERE expr];

-- 選擇
USE db_name;

二、數據表 (TABLE) 操作

-- 創建
CREATE TABLE [IF NOT EXISTS] tbl_name (
    col_name data_type [NOT NULL | NULL] [DEFAULT default_value] 
    [AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY] 
    [COMMENT 'comment'], ...
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- 刪除
DROP TABLE [IF EXISTS] tbl_name;

-- 顯示
SHOW TABLES [FROM db_name] [LIKE 'pattern' | WHERE expr];

-- 重命名
RENAME TABLE old_name TO new_name;
-- 或
ALTER TABLE old_name RENAME new_name;

三、列 (COLUMN) 操作

-- 添加
ALTER TABLE tbl_name ADD [COLUMN] col_name data_type 
    [FIRST | AFTER col_name];

-- 刪除
ALTER TABLE tbl_name DROP [COLUMN] col_name;

-- 修改類型/屬性
ALTER TABLE tbl_name MODIFY col_name new_data_type;
ALTER TABLE tbl_name CHANGE old_col new_col new_data_type;

四、行 (ROW) 數據操作 (DML)

-- 插入
INSERT [INTO] tbl_name [(col_list)] VALUES (val_list), (val_list), ...;
INSERT INTO tbl_name (col_list) SELECT col_list FROM other_tbl;

-- 刪除
DELETE FROM tbl_name [WHERE where_condition] [ORDER BY ...] [LIMIT n];

-- 更新
UPDATE [LOW_PRIORITY] [IGNORE] tbl_name 
SET col1={expr1|DEFAULT} [, col2={expr2|DEFAULT}] ...
[WHERE where_condition] [ORDER BY ...] [LIMIT n];

-- 示例
UPDATE users SET age=18 WHERE age=17;

五、查詢 (DQL) 語句完整語法

SELECT [DISTINCT] select_expr [, select_expr ...]
FROM table_references
[WHERE where_condition]
[GROUP BY {col_name | expr | position} [ASC | DESC], ...]
[HAVING where_condition]
[ORDER BY {col_name | expr | position} [ASC | DESC], ...]
[LIMIT {[offset,] row_count | row_count OFFSET offset}];

-- 示例
SELECT name FROM users WHERE id = 3;

六、常用約束與關鍵字

  • NOT NULL:非空
  • PRIMARY KEY:主鍵(隱含 NOT NULL + UNIQUE)
  • UNIQUE [KEY]:唯一
  • DEFAULT:默認值
  • FOREIGN KEY:外鍵(需 InnoDB)
  • AUTO_INCREMENT:自增(整數類型,通常作主鍵)

七、實用技巧片段

-- 建表去重
CREATE TABLE new_tbl SELECT DISTINCT * FROM old_tbl;

-- 復制表結構(不含數據)
CREATE TABLE new_tbl LIKE old_tbl;
-- 或
CREATE TABLE new_tbl SELECT * FROM old_tbl WHERE 1=0;

-- 查看表結構
DESC tbl_name;
SHOW CREATE TABLE tbl_name\G

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

生產環境 DDL 變更請使用 pt-online-schema-change 或 gh-ost 避免鎖表。所有標識符建議加反引號 `。

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