SQL 陳述式依功能分為三大類:
CREATE、ALTER、DROP、DECLARESELECT、INSERT、UPDATE、DELETEGRANT、REVOKE、COMMIT、ROLLBACKCREATE DATABASE db_name;
DROP DATABASE db_name;
-- 備份
USE master;
EXEC sp_addumpdevice 'disk', 'testBack', 'c:\backup\db.bak';
BACKUP DATABASE pubs TO testBack;
CREATE TABLE tab (col1 INT PRIMARY KEY, col2 VARCHAR(50) NOT NULL);
-- 依現有表建表
CREATE TABLE new_tab LIKE old_tab; -- MySQL/部分支援
CREATE TABLE new_tab AS SELECT col1, col2 FROM old_tab WHERE 1=0; -- 標準 SQL
DROP TABLE tab_name;
ALTER TABLE tab ADD COLUMN col3 INT;
ALTER TABLE tab ADD PRIMARY KEY (col1);
ALTER TABLE tab DROP PRIMARY KEY;
CREATE INDEX idx_name ON tab(col1);
CREATE UNIQUE INDEX uidx_name ON tab(col2);
DROP INDEX idx_name;
CREATE VIEW view_name AS SELECT col1, col2 FROM tab WHERE col1 > 100;
DROP VIEW view_name;
-- 查詢
SELECT * FROM tab WHERE col1 > 10;
SELECT * FROM tab WHERE col2 LIKE '%keyword%';
SELECT * FROM tab ORDER BY col1 DESC, col2 ASC;
-- 新增
INSERT INTO tab (col1, col2) VALUES (1, 'test');
INSERT INTO tab (col1, col2) SELECT id, name FROM other_tab;
-- 修改
UPDATE tab SET col2 = 'new' WHERE col1 = 1;
-- 刪除
DELETE FROM tab WHERE col1 = 1;
SELECT COUNT(*) AS total FROM tab;
SELECT SUM(col1) AS sum_val FROM tab;
SELECT AVG(col1) AS avg_val FROM tab;
SELECT MAX(col1) AS max_val FROM tab;
SELECT MIN(col1) AS min_val FROM tab;
UNION:合併結果集,去除重複列。UNION ALL 保留重複。EXCEPT (SQL Server) / MINUS (Oracle):第一個結果集減去第二個結果集的交集。INTERSECT:取兩個結果集的交集。注意:部分語法 (如 CREATE TABLE ... LIKE) 為 MySQL/特定資料庫專屬,SQL Server 請使用 SELECT ... INTO 或腳本產生工具。