SQL入门
一、概述
SQL关键字分为普通关键字和DDL(数据定义语言)
二、DDL关键字
在SQL语言中,DDL(数据定义语言)关键字的顺序通常是以下方式:
CREATE:用于创建数据库对象,如表、视图、索引等。
ALTER:用于修改数据库对象的结构,如添加、修改或删除列、约束等。
DROP:用于删除数据库对象,如表、视图、索引等。
TRUNCATE:用于截断表,即删除表中的所有数据。
RENAME:用于重命名数据库对象,如表、列等。
下面是一些具体的SQL语句示例,以说明这些DDL关键字的顺序:
- 创建表(CREATE TABLE):
1 |
|
- 修改表结构(ALTER TABLE):
1 |
|
- 删除表(DROP TABLE):
1 |
|
- 截断表(TRUNCATE TABLE):
1 |
|
- 重命名表(RENAME TABLE):
1 |
|
三、关键字顺序规则
1)关键字概述
以下是一些常见的关键字:
SELECT:用于从数据库中检索数据。
FROM:指定要检索数据的表或视图。
WHERE:用于指定检索条件。
GROUP BY:用于按指定的列对结果进行分组。
HAVING:用于指定分组后的条件。
ORDER BY:用于对结果进行排序。
INSERT INTO:用于向表中插入数据。
VALUES:指定要插入的值。
UPDATE:用于更新表中的数据。
SET:指定要更新的列和值。
DELETE FROM:用于从表中删除数据。
以下是一些具体的SQL语句示例,以说明这些关键字的顺序:
- 检索数据(SELECT):
1 |
|
- 插入数据(INSERT INTO):
1 |
|
- 更新数据(UPDATE):
1 |
|
- 删除数据(DELETE FROM):
1 |
|
2)具体顺序举例
1、CRUD主体
2、联表+连接条件(内联只包含符合连接条件的记录,外联还包含不符合连接条件的记录)
3、CRUD条件
4、分组聚合条件(按照某列字段值进行分类记录)
5、分组筛选
6、排序
具体示例:
1 |
|
四、一些小细节
1)左联和右联区别
左联:以左表为主表,即以左表的字段为键,来扩充交叉得新表
右联:以右表为主表,即以右表的字段为键,来扩充交叉得新表
2)具体例子说明
假设我们有以下数据:
Customers 表:
CustomerID | CustomerName |
---|---|
1 | John |
2 | Mary |
3 | David |
Orders 表:
OrderID | CustomerID | OrderDate |
---|---|---|
101 | 1 | 2022-01-01 |
102 | 2 | 2022-02-01 |
103 | 2 | 2022-03-01 |
104 | 4 | 2022-04-01 |
使用左联接(LEFT JOIN)的示例查询语句如下:
1 |
|
执行上述查询语句后,将返回以下结果:
CustomerName | OrderID |
---|---|
John | 101 |
Mary | 102 |
Mary | 103 |
David | NULL |
在这个结果中,我们可以看到左表 “Customers” 中的所有行都被返回,而右表 “Orders” 中只有符合连接条件的行被返回。由于 “David” 在 “Orders” 表中没有匹配的订单,所以对应的 “OrderID” 列显示为 NULL。
现在,让我们使用右联接(RIGHT JOIN)的示例查询语句:
1 |
|
执行上述查询语句后,将返回以下结果:
CustomerName | OrderID |
---|---|
John | 101 |
Mary | 102 |
Mary | 103 |
NULL | 104 |