SQL(1)-基本用法
SQL(Structured Query Language)是用于管理和操作关系型数据库的标准语言。以下是SQL的一些常用知识点,涵盖了基本的查询、数据操作、数据定义和数据控制等方面:
1. 基本查询
SELECT语句:用于从数据库中检索数据。
1
2SELECT column1, column2, ...
FROM table_name;WHERE子句:用于过滤记录。
1
2
3SELECT column1, column2, ...
FROM table_name
WHERE condition;AND / OR:用于组合多个条件。
1
2
3SELECT column1, column2, ...
FROM table_name
WHERE condition1 AND condition2;IN子句:用于指定多个可能的值。
1
2
3SELECT column1, column2, ...
FROM table_name
WHERE column_name IN (value1, value2, ...);BETWEEN子句:用于选取介于两个值之间的数据。
1
2
3SELECT column1, column2, ...
FROM table_name
WHERE column_name BETWEEN value1 AND value2;LIKE子句:用于模式匹配。
1
2
3SELECT column1, column2, ...
FROM table_name
WHERE column_name LIKE pattern;
2. 排序和分组
ORDER BY子句:用于对结果集进行排序。
1
2
3SELECT column1, column2, ...
FROM table_name
ORDER BY column1 ASC/DESC;GROUP BY子句:用于将数据分组。
1
2
3SELECT column1, column2, AGGREGATE_FUNCTION(column3)
FROM table_name
GROUP BY column1, column2;HAVING子句:用于过滤分组后的结果。
1
2
3
4SELECT column1, AGGREGATE_FUNCTION(column2)
FROM table_name
GROUP BY column1
HAVING AGGREGATE_FUNCTION(column2) condition;
3. 聚合函数
COUNT:用于计数。
1
2SELECT COUNT(column_name)
FROM table_name;SUM:用于求和。
1
2SELECT SUM(column_name)
FROM table_name;AVG:用于求平均值。
1
2SELECT AVG(column_name)
FROM table_name;MAX:用于求最大值。
1
2SELECT MAX(column_name)
FROM table_name;MIN:用于求最小值。
1
2SELECT MIN(column_name)
FROM table_name;
4. 数据操作
INSERT语句:用于插入新记录。
1
2INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);UPDATE语句:用于更新现有记录。
1
2
3UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;DELETE语句:用于删除记录。
1
2DELETE FROM table_name
WHERE condition;
5. 数据定义
CREATE TABLE语句:用于创建新表。
1
2
3
4
5CREATE TABLE table_name (
column1 datatype constraints,
column2 datatype constraints,
...
);ALTER TABLE语句:用于修改表结构。
1
2ALTER TABLE table_name
ADD column_name datatype;DROP TABLE语句:用于删除表。
1
DROP TABLE table_name;
6. 约束
PRIMARY KEY:用于唯一标识表中的每条记录。
1
2
3
4
5CREATE TABLE table_name (
column1 datatype PRIMARY KEY,
column2 datatype,
...
);FOREIGN KEY:用于建立表之间的关系。
1
2
3
4
5CREATE TABLE table_name (
column1 datatype,
column2 datatype,
FOREIGN KEY (column1) REFERENCES other_table_name(column1)
);UNIQUE:用于确保列中的所有值都是唯一的。
1
2
3
4
5CREATE TABLE table_name (
column1 datatype UNIQUE,
column2 datatype,
...
);NOT NULL:用于确保列中的值不能为空。
1
2
3
4
5CREATE TABLE table_name (
column1 datatype NOT NULL,
column2 datatype,
...
);
7. 子查询
- 子查询:在一个查询中嵌套另一个查询。
1
2
3SELECT column1, column2, ...
FROM table_name
WHERE column1 = (SELECT column1 FROM another_table WHERE condition);
8. 联接(JOIN)
INNER JOIN:返回两个表中匹配的记录。
1
2
3
4SELECT table1.column1, table2.column2, ...
FROM table1
INNER JOIN table2
ON table1.common_column = table2.common_column;LEFT JOIN:返回左表中的所有记录,以及右表中匹配的记录。
1
2
3
4SELECT table1.column1, table2.column2, ...
FROM table1
LEFT JOIN table2
ON table1.common_column = table2.common_column;RIGHT JOIN:返回右表中的所有记录,以及左表中匹配的记录。
1
2
3
4SELECT table1.column1, table2.column2, ...
FROM table1
RIGHT JOIN table2
ON table1.common_column = table2.common_column;FULL OUTER JOIN:返回两个表中的所有记录,如果没有匹配,则返回 NULL。
1
2
3
4SELECT table1.column1, table2.column2, ...
FROM table1
FULL OUTER JOIN table2
ON table1.common_column = table2.common_column;
9. 事务控制
BEGIN TRANSACTION:开始一个事务。
1
BEGIN TRANSACTION;
COMMIT:提交事务。
1
COMMIT;
ROLLBACK:回滚事务。
1
ROLLBACK;
10. 视图
CREATE VIEW:创建视图。
1
2
3
4CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;DROP VIEW:删除视图。
1
DROP VIEW view_name;
11. 索引
CREATE INDEX:创建索引。
1
2CREATE INDEX index_name
ON table_name (column1, column2, ...);DROP INDEX:删除索引。
1
DROP INDEX index_name;
12. 存储过程和函数
存储过程:预编译的SQL代码块,可以多次调用。
1
2
3
4
5CREATE PROCEDURE procedure_name
AS
BEGIN
-- SQL statements
END;函数:返回一个值的预编译的SQL代码块。
1
2
3
4
5
6
7CREATE FUNCTION function_name (parameters)
RETURNS datatype
AS
BEGIN
-- SQL statements
RETURN result;
END;
SQL(1)-基本用法
install_url
to use ShareThis. Please set it in _config.yml
.