| 類別 | 全稱 | 核心語句 | 用途 |
|---|---|---|---|
| DDL | Data Definition Language | CREATE、DROP、ALTER | 定義/管理數據庫對象(庫、表、視圖、索引) |
| DML | Data Manipulation Language | SELECT、INSERT、UPDATE、DELETE | 操作表中數據(增刪改查) |
| DCL | Data Control Language | GRANT、REVOKE、COMMIT、ROLLBACK | 權限控制與事務管理 |
CHAR(n) 定長、VARCHAR(n) 變長(短文本)TEXT、BLOB(長文本/二進制)INT、BIGINT、DECIMAL、FLOAT、DOUBLEBOOLEAN(實為 TINYINT(1),0/1)DATE、DATETIME、TIMESTAMP註釋風格:# 单行、-- 单行、/* 多行 */
CREATE DATABASE db_users; SHOW DATABASES; DROP DATABASE db_users;
USE db_users;
CREATE TABLE regusers (
userid INT AUTO_INCREMENT NOT NULL PRIMARY KEY,
username CHAR(32),
birth DATE
);
DESC regusers;
-- 新增欄位 ALTER TABLE regusers ADD last_login DATE; -- 修改欄位類型 ALTER TABLE regusers MODIFY username VARCHAR(64); -- 刪除欄位 ALTER TABLE regusers DROP COLUMN last_login; -- 重命名表 ALTER TABLE regusers RENAME TO users;
DROP TABLE regusers; -- 可一次刪多表:DROP TABLE t1, t2, t3;
-- 指定列插入(推薦)
INSERT INTO regusers (username, birth, last_login)
VALUES ('allen', '1981-1-1', '2014-2-2');
-- 批量插入
INSERT INTO regusers (username, birth, last_login)
VALUES ('ben', '1982-4-2', '2014-4-30'),
('curry', '1985-8-12', '2014-1-17');
UPDATE regusers SET username = 'ben' WHERE username = 'brooks';
DELETE FROM regusers WHERE userid = 10002; -- 危險操作:DELETE FROM regusers;(清空全表,慎用)
-- 全表查詢 SELECT * FROM tb_users; -- 條件過濾 SELECT * FROM tb_users WHERE birth < '1983-1-1'; -- 多條件 + 排序 SELECT * FROM tb_users WHERE birth > '1982-1-1' ORDER BY last_login; -- 指定列投影 SELECT username, last_login FROM tb_users; -- 聚合統計 SELECT COUNT(*) AS total_users FROM tb_users;
INSERT INTO t(a,b) VALUES(...)、SELECT a,b FROM t,避免 SELECT * 造成不必要的 I/O 與網絡開銷。START TRANSACTION; ... COMMIT; 保證原子性。LIMIT 分批刪除大量歷史數據,避免長事務鎖表。