SQL 常见用法
数据定义语言 (DDL)
- 
CREATE创建数据库对象,如数据库、表、索引、视图等。
| 1 | CREATE TABLE employees ( | 
- 
ALTER修改现有数据库对象的结构。
| 1 | ALTER TABLE employees ADD COLUMN phone_number VARCHAR(15); | 
- 
DROP删除数据库对象。
| 1 | DROP TABLE employees; | 
- 
TRUNCATE快速清空表中的所有行。
| 1 | TRUNCATE TABLE employees; | 
- 
RENAME更改数据库对象的名称。
| 1 | RENAME TABLE employees TO staff; | 
数据操纵语言 (DML)
- 
INSERT向表中插入新数据。
| 1 | INSERT INTO employees (employee_id, first_name, last_name, email) | 
- 
UPDATE更新表中的现有数据。
| 1 | UPDATE employees | 
- 
DELETE从表中删除数据。
| 1 | DELETE FROM employees WHERE employee_id = 1; | 
- 
SELECT查询和检索数据库中的数据。
| 1 | SELECT first_name, last_name FROM employees | 
事务控制语言 (TCL)
- 
BEGIN或START TRANSACTION显式地开始一个新的事务。
| 1 | START TRANSACTION; | 
- 
COMMIT提交当前事务,使所有自上次提交或回滚以来的数据库更改成为永久性的。
| 1 | COMMIT; | 
- 
ROLLBACK回滚当前事务,并取消所有未提交的更改。
| 1 | ROLLBACK; | 
- 
SAVEPOINT在事务内设置一个回滚点。
| 1 | SAVEPOINT savepoint_name; | 
数据查询和分析
- 
SELECT子句:查询数据,可以结合多种子句进行复杂查询。
| 1 | SELECT column1, column2, ... | 
- 
DISTINCT返回唯一不同的值。
| 1 | SELECT DISTINCT column_name FROM table_name; | 
- 
WHERE指定选择条件。
| 1 | SELECT column1, column2, ... | 
- 
GROUP BY将结果集分组,通常与聚合函数(如 COUNT、MAX、MIN、SUM、AVG)一起使用。
| 1 | SELECT column1, AVG(column2) | 
- 
HAVING对GROUP BY生成的分组进行条件过滤。
| 1 | SELECT column1, SUM(column2) | 
- 
ORDER BY对结果集进行排序。
| 1 | SELECT column1, column2 | 
- 
JOIN将两个或多个表的行结合起来,根据共同的字段。
| 1 | SELECT orders.order_id, customers.customer_name | 
- 
UNION合并两个或多个SELECT语句的结果集,但是删除重复的行。
| 1 | SELECT column_name FROM table1 | 
- 
UNION ALL合并两个或多个SELECT语句的结果集,不删除重复的行。
| 1 | SELECT column_name FROM table1 | 
- 
LIMIT限制SELECT语句返回的数据数量。
| 1 | SELECT column_name FROM table_name | 
- 
OFFSET指定SELECT语句开始返回记录的起点。
| 1 | SELECT column_name FROM table_name | 
数据聚合函数
- 
COUNT()返回匹配指定条件的行数。
| 1 | SELECT COUNT(column_name) | 
- 
SUM()返回数值列的总和。
| 1 | SELECT SUM(column_name) | 
- 
AVG()返回数值列的平均值。
| 1 | SELECT AVG(column_name) | 
- 
MAX()返回列中的最大值。
| 1 | SELECT MAX(column_name) | 
- 
MIN()返回列中的最小值。
| 1 | SELECT MIN(column_name) | 
数据控制语言 (DCL)
- 
GRANT授予用户访问及操作数据库的权限。
| 1 | GRANT SELECT, INSERT ON database_name.table_name TO 'username'@'localhost'; | 
- 
REVOKE撤销用户的权限。
| 1 | REVOKE SELECT, INSERT ON database_name.table_name FROM 'username'@'localhost'; | 
索引管理
- 
CREATE INDEX在表上创建索引以提高查询性能。
| 1 | CREATE INDEX idx_column_name ON table_name (column_name); | 
- 
DROP INDEX删除表上的索引。
| 1 | DROP INDEX idx_column_name ON table_name; | 
视图管理
- 
CREATE VIEW创建一个数据库视图。
| 1 | CREATE VIEW view_name AS | 
- 
DROP VIEW删除一个数据库视图。
| 1 | DROP VIEW view_name; | 
存储过程和函数
- 
CREATE PROCEDURE创建一个存储过程。
| 1 | CREATE PROCEDURE procedure_name () | 
- 
CALL调用一个存储过程。
| 1 | CALL procedure_name(); | 
- 
CREATE FUNCTION创建一个 SQL 函数。
| 1 | CREATE FUNCTION function_name (param1 datatype, param2 datatype, ...) | 
- 
DROP PROCEDURE/DROP FUNCTION删除一个存储过程或函数。
| 1 | DROP PROCEDURE IF EXISTS procedure_name; | 
子查询 (Subqueries)
- 
子查询允许你在另一个 SQL 查询中使用一个完整的 SELECT查询。
| 1 | SELECT column_name | 
SQL 约束 (Constraints)
约束用于指定表中数据的规则。常见的约束包括:
- 
NOT NULL- 确保列不包含空值。
- 
UNIQUE- 确保所有列的值都是唯一的。
- 
PRIMARY KEY- 唯一标识数据库表中的每条记录。
- 
FOREIGN KEY- 唯一标识另一个表中的记录。
- 
CHECK- 确保列中的值符合指定的条件。
- 
DEFAULT- 设置列的默认值。
| 1 | CREATE TABLE table_name ( | 
CASE 表达式
- 
CASE语句在 SQL 中用于创建条件查询,如同编程中的if-else逻辑。
| 1 | SELECT column_name, | 
使用通配符的搜索
- 
LIKE在WHERE子句中用来搜索列中的指定模式。- %代表零个或多个字符。
- _代表一个单一的字符。
 
| 1 | SELECT * FROM table_name | 
使用正则表达式的搜索
- 
REGEXP使用正则表达式进行模式匹配。
| 1 | SELECT * FROM table_name | 
 
      
      
     
    