一、基礎操作
1. 數據庫操作
-- 1. 創建數據庫
CREATE DATABASE 數據庫名稱 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;-- 2. 刪除數據庫
DROP DATABASE IF EXISTS 數據庫名稱;-- 3. 選擇數據庫
USE 數據庫名稱;-- 4. 顯示所有數據庫
SHOW DATABASES;-- 5. 查看數據庫創建語句
SHOW CREATE DATABASE 數據庫名稱;
2. 表操作
-- 6. 創建表
CREATE TABLE 表名 (主鍵列名 INT AUTO_INCREMENT PRIMARY KEY,列名1 VARCHAR(50) NOT NULL,列名2 VARCHAR(100) UNIQUE,創建時間 TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);-- 7. 刪除表
DROP TABLE IF EXISTS 表名;-- 8. 清空表
TRUNCATE TABLE 表名;-- 9. 重命名表
RENAME TABLE 原表名 TO 新表名;-- 10. 顯示所有表
SHOW TABLES;-- 11. 查看表結構
DESCRIBE 表名;
二、CRUD操作
1. 插入數據
-- 12. 插入單條數據
INSERT INTO 表名 (列名1, 列名2) VALUES ('值1', '值2');-- 13. 插入多條數據
INSERT INTO 表名 (列名1, 列名2) VALUES
('值1', '值2'),
('值3', '值4');-- 14. 插入查詢結果
INSERT INTO 目標表名 SELECT * FROM 源表名;
2. 查詢數據
-- 15. 基礎查詢
SELECT 列名1, 列名2 FROM 表名;-- 16. 條件查詢
SELECT 列名1, 列名2 FROM 表名 WHERE 條件列 = '條件值';-- 17. 排序查詢
SELECT 列名1, 列名2 FROM 表名 ORDER BY 排序列 DESC;-- 18. 分頁查詢
SELECT 列名1, 列名2 FROM 表名 LIMIT 10 OFFSET 20;
三、高級查詢
1. 聚合函數
-- 19. 計數
SELECT COUNT(*) FROM 表名;-- 20. 求和
SELECT SUM(數值列) FROM 表名;-- 21. 平均值
SELECT AVG(數值列) FROM 表名;-- 22. 分組統計
SELECT 分組列, COUNT(*) FROM 表名 GROUP BY 分組列;
2. 多表連接
-- 23. 內連接
SELECT 表A.列名, 表B.列名
FROM 表A JOIN 表B ON 表A.關聯列 = 表B.關聯列;-- 24. 左連接
SELECT 表A.列名, 表B.列名
FROM 表A LEFT JOIN 表B ON 表A.關聯列 = 表B.關聯列;-- 25. 右連接
SELECT 表A.列名, 表B.列名
FROM 表A RIGHT JOIN 表B ON 表A.關聯列 = 表B.關聯列;
四、數據修改?
1. 更新數據
-- 26. 基礎更新
UPDATE 表名 SET 列名1 = '新值' WHERE 條件;-- 27. 多列更新
UPDATE 表名 SET 列名1 = '新值1', 列名2 = '新值2' WHERE 條件;-- 28. 基于子查詢更新
UPDATE 表名 SET 列名 = (SELECT 列名 FROM 其他表 WHERE 條件) WHERE 條件;
2. 刪除數據
-- 29. 條件刪除
DELETE FROM 表名 WHERE 條件;-- 30. 清空表
DELETE FROM 表名;
五、索引與約束
-- 31. 創建普通索引
CREATE INDEX 索引名 ON 表名(列名);-- 32. 創建唯一索引
CREATE UNIQUE INDEX 索引名 ON 表名(列名);-- 33. 刪除索引
DROP INDEX 索引名 ON 表名;-- 34. 添加主鍵
ALTER TABLE 表名 ADD PRIMARY KEY (列名);-- 35. 添加外鍵
ALTER TABLE 表名 ADD CONSTRAINT 外鍵名
FOREIGN KEY (列名) REFERENCES 關聯表(關聯列);
六、視圖與存儲過程?
1. 視圖
-- 36. 創建視圖
CREATE VIEW 視圖名 AS SELECT 列名1, 列名2 FROM 表名;-- 37. 修改視圖
ALTER VIEW 視圖名 AS SELECT 列名1, 列名2 FROM 表名 WHERE 條件;-- 38. 刪除視圖
DROP VIEW IF EXISTS 視圖名;
2. 存儲過程
-- 39. 創建存儲過程
DELIMITER //
CREATE PROCEDURE 過程名(IN 參數名 參數類型)
BEGINSELECT 列名 FROM 表名 WHERE 列名 = 參數名;
END //
DELIMITER ;-- 40. 調用存儲過程
CALL 過程名('參數值');