SQL(结构化查询语言)是用于管理关系型数据库的标准语言。增、删、改、查是对数据库表中数据进行基本操作的四种主要功能,通常称为CRUD(Create, Read, Update, Delete)。以下是这四个操作的详细讲解和示例
1. 增(Create)
功能:简单来说插入数据库表中新记录
SQL 语法:
- 表名:你想要插入数据的表的名称。
- 列:列出你要插入的列名,顺序与
VALUES
中的值对应。 - 值:对应每个列名的实际值。
批量插入
一次可插入多条数据
声明
- 数据类型:确保你插入的值与列的数据类型匹配。例如,如果
bornDate
列是日期类型,插入的值应为有效日期格式。 - 非空约束:如果某列有非空约束(NOT NULL),你必须提供该列的值。
- 自动递增列:如果某列是自动递增(如主键),你可以省略该列。在这种情况下,数据库会自动生成值:
2. 查(Read)
在 SQL 中,查询数据使用 SELECT
语句。SELECT
语句允许你从数据库表中检索数据,并可以进行多种操作和过滤
基础语法
示例
查询全部
声明
- 列:指定你想要检索的列。如果想要所有列,可以使用
*
。 - 表名:指定要查询的表的名称。
- WHERE:可选,用于过滤数据,只有符合条件的记录会被返回。
- ORDER BY:可选,用于指定结果集的排序方式,可以按升序(ASC,默认)或降序(DESC)排列。
- LIMIT:可选,用于限制返回的记录数量。
3. 改(Update)
基本语法
UPDATE
:指明要更新的表。SET
:用于指定要更新的列及其新值。WHERE
:用于指定条件,确定要更新哪些行。如果没有WHERE
条件,表中所有行的指定列都会被更新。
示例 1:更新单一列
假设有一个表 employees
,其中包含员工的 id
、name
和 salary
信息。如果你想更新员工 ID 为 1001 的工资,可以写如下语句:
这个语句会把 id
为 1001
的员工的工资改为 5500。
示例 2:更新多列
如果你想同时更新多列,可以通过逗号分隔列名和新值。例如,要更新员工 ID 为 1001 的名字和工资:
这会把 id
为 1001
的员工的名字更新为 张三
,并将工资更新为 6000
。
示例 3:没有 WHERE 子句
如果没有指定 WHERE
条件,所有行的数据都会被更新。比如,下面的语句会将 employees
表中所有员工的工资都更新为 5000:
总结:
UPDATE
语句用于修改现有数据。- 使用
SET
来指定要修改的列和值。 - 使用
WHERE
条件来限制更新的范围,避免更新所有数据。 - 可以使用子查询来动态更新数据。
4. 删(Delete)
在 SQL 中,删除数据使用 DELETE
语句。它用来从表中删除一行或多行数据。
基本语法:
DELETE FROM
:指明要删除数据的表。WHERE
:指定删除的条件。如果没有WHERE
条件,表中的所有数据都会被删除。
示例 1:删除单行数据
假设你有一个 employees
表,要删除员工 ID 为 1001 的记录,可以使用以下 SQL:
示例 2:删除多行数据
你可以指定多个条件删除多行。例如,删除所有工资低于 3000 的员工:
DELETE FROM employees WHERE salary < 3000;