萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> MySQL 教學

MySQL 基础 SQL 语句语法速查手册(上):建库建表、增删改查、索引视图

MySQL 基础 SQL 语句语法速查手册(上):建库建表、增删改查、索引视图

本文匯總 MySQL 最核心的 DDL、DML、DCL 基礎語法,適合初學者速查與資深開發者回顧。涵蓋建庫/刪庫、建表/刪表/修改表結構、主鍵索引視圖操作、基礎增刪改查、聚合函數、排序分頁等高頻語句。

一、數據庫級操作

-- 建庫
CREATE DATABASE db_name [CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci];

-- 刪庫(謹慎!)
DROP DATABASE db_name;

-- 備份(SQL Server 語法,MySQL 請用 mysqldump)
-- USE master;
-- EXEC sp_addumpdevice 'disk', 'testBack', 'c:\backup\mydb.dat';
-- BACKUP DATABASE pubs TO testBack;

二、數據表結構操作

1. 建表

CREATE TABLE tab_name (
    col1 type1 [NOT NULL] [PRIMARY KEY],
    col2 type2 [NOT NULL],
    ...
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

2. 以現有表結構建表

-- 僅複製結構
CREATE TABLE new_tbl LIKE old_tbl;

-- 複製結構+數據(可加 WHERE 過濾)
CREATE TABLE new_tbl AS SELECT col1, col2 FROM old_tbl WHERE ...;

3. 刪表

DROP TABLE [IF EXISTS] tab_name;

4. 增加列

ALTER TABLE tab_name ADD COLUMN col_name type [NOT NULL] [DEFAULT val];

⚠️ MySQL 8.0 前不支援 DROP COLUMN 瞬時完成(需重建表),8.0+ 支援 INSTANT DDL。

5. 主鍵操作

-- 增加主鍵
ALTER TABLE tab_name ADD PRIMARY KEY (col);

-- 刪除主鍵
ALTER TABLE tab_name DROP PRIMARY KEY;

6. 索引操作

-- 建立索引
CREATE [UNIQUE] INDEX idx_name ON tab_name (col1, col2...);

-- 刪除索引
DROP INDEX idx_name ON tab_name;
-- 或
ALTER TABLE tab_name DROP INDEX idx_name;

⚠️ 索引不可修改,需刪除重建。

7. 視圖操作

-- 建立視圖
CREATE VIEW view_name AS SELECT ...;

-- 刪除視圖
DROP VIEW [IF EXISTS] view_name;

三、基礎 DML 單表操作

操作語法模板示例
查詢SELECT * FROM t WHERE conditionSELECT * FROM user WHERE age > 18
插入INSERT INTO t (c1,c2) VALUES (v1,v2)INSERT INTO user(name,age) VALUES('Tom',20)
刪除DELETE FROM t WHERE conditionDELETE FROM user WHERE id=1
更新UPDATE t SET c1=v1 WHERE conditionUPDATE user SET age=21 WHERE id=1
模糊查詢SELECT * FROM t WHERE c LIKE '%val%'SELECT * FROM user WHERE name LIKE '%Tom%'
排序SELECT * FROM t ORDER BY c1 [DESC], c2SELECT * FROM user ORDER BY age DESC, id

四、聚合統計函數

SELECT COUNT(*) AS total FROM t;
SELECT SUM(col) AS sum_val FROM t;
SELECT AVG(col) AS avg_val FROM t;
SELECT MAX(col) AS max_val FROM t;
SELECT MIN(col) AS min_val FROM t;

五、常用字符串/日期函數速查

  • CONCAT(str1, str2)、SUBSTRING(str, pos, len)、TRIM()、REPLACE()
  • NOW()、CURDATE()、DATE_ADD(date, INTERVAL n DAY)、DATEDIFF(d1, d2)

📌 下篇預告:多表連接、子查詢、事務控制、存儲過程/觸發器、權限管理、分區表、JSON 操作、Cte 遞歸查詢等進階語法。

copyright © 萬盛學電腦網 all rights reserved