📅  最后修改于: 2023-12-03 15:14:45.159000             🧑  作者: Mango
DML是数据库管理语言(Data Manipulation Language)的简称,是用于操作数据库中数据的语言。它是SQL语言的一部分,可以用于增加、删除、修改、查询等操作。DML常常用于实现业务逻辑,通过对数据进行操作来满足用户要求。
本文将介绍DML的完整格式,包括语法和示例。
以下是DML语法的基本格式:
[WITH [RECURSIVE] cte_name [(column_name [, ...])]
AS (
SELECT ... FROM ...
)],
statement
statement:
INSERT INTO table_name [(column1 [, column2, ..., columnn])]
{VALUES (value1 [, value2, ..., valuen]) | statement}
[{RETURNING | OUTPUT} * | output_expression [ [, ...] ] ];
UPDATE table_name
SET column1 = expression1 [, column2 = expression2, ..., columnn = expressionn]
[FROM from_list]
WHERE condition
[{RETURNING | OUTPUT} * | output_expression [ [, ...] ] ];
DELETE FROM table_name
[FROM from_list]
[WHERE condition]
[{RETURNING | OUTPUT} * | output_expression [ [, ...] ] ];
output_expression:
expression [AS output_name]
from_list:
{ ONLY table_name [AS alias] | from_list join_type JOIN table_name [AS alias] [JOIN CONDITIONS] } [WHERE condition]
以下是向表“users”中插入一行记录的示例:
INSERT INTO users (name, age, gender) VALUES ('Alice', 20, 'Female') RETURNING *;
这个示例中,我们向“users”表中插入一条新记录,其中包含name、age和gender三个字段的值。RETURNING关键字表示返回新插入记录的所有字段。经过执行后,将返回包含新插入记录的所有字段的行。
以下是更新表“users”中指定记录的示例:
UPDATE users SET name = 'Bob', age = 25 WHERE id = 1 RETURNING *;
这个示例中,我们使用UPDATE语句将“users”表中id为1的记录的name字段修改为“Bob”,age字段修改为25。RETURNING关键字表示返回更新后的记录的所有字段。经过执行后,将返回包含更新后记录的所有字段的行。
以下是从表“users”中删除指定记录的示例:
DELETE FROM users WHERE id = 2 RETURNING *;
这个示例中,我们使用DELETE语句从“users”表中删除id为2的记录。RETURNING关键字表示返回被删除记录的所有字段。经过执行后,将返回包含被删除记录的所有字段的行。
以下是使用WITH语句向表“users”中插入多个记录的示例:
WITH new_users (name, age, gender) AS (
VALUES ('Charlie', 30, 'Male'),
('David', 35, 'Male')
)
INSERT INTO users (name, age, gender)
SELECT name, age, gender FROM new_users;
这个示例中,我们使用WITH语句创建了一个名为new_users的公共表达式,其中包含多个记录。然后,我们使用INSERT INTO和SELECT子句将new_users中的数据插入到“users”表中。经过执行后,“users”表中将包含两个新记录。
本文介绍了DML的完整格式,包括语法和示例。DML是SQL语言的一部分,用于操作数据库中的数据。通过本文的介绍,相信读者对DML有了更加深入的理解,能够更高效地进行数据库开发。