admin 管理员组

文章数量: 887021


2024年1月16日发(作者:js递归算法)

oracle的insert语句

Oracle是一种关系型数据库管理系统,它支持SQL语言,可以使用INSERT语句将数据插入到表中。INSERT语句是SQL语言中最常用的语句之一,它用于将数据插入到表中。在本文中,我们将介绍Oracle中的INSERT语句,并提供一些示例。

1. 插入单行数据

INSERT INTO table_name (column1, column2, column3, ...)

VALUES (value1, value2, value3, ...);

这是最基本的INSERT语句,它用于将一行数据插入到表中。在这个语句中,我们需要指定表名和列名,然后提供要插入的值。

例如,我们有一个名为“employees”的表,它有三个列:id、name和age。我们可以使用以下语句将一行数据插入到表中:

INSERT INTO employees (id, name, age) VALUES (1, 'John', 30);

这将在“employees”表中插入一行数据,其中id为1,name为“John”,age为30。

2. 插入多行数据

INSERT INTO table_name (column1, column2, column3, ...)

VALUES (value1, value2, value3, ...), (value1, value2,

value3, ...), ...;

如果我们需要将多行数据插入到表中,我们可以使用INSERT语句的扩展语法。在这个语法中,我们可以在一个INSERT语句中插入多个值。

例如,我们有一个名为“employees”的表,它有三个列:id、name和age。我们可以使用以下语句将多行数据插入到表中:

INSERT INTO employees (id, name, age) VALUES (1, 'John', 30),

(2, 'Mary', 25), (3, 'Tom', 35);

这将在“employees”表中插入三行数据,分别为id为1、name为“John”、age为30;id为2、name为“Mary”、age为25;id为3、name为“Tom”、age为35。

3. 插入查询结果

INSERT INTO table_name (column1, column2, column3, ...)

SELECT column1, column2, column3, ... FROM table_name

WHERE condition;

有时候,我们需要将查询结果插入到表中。在这种情况下,我们可以使用INSERT语句的SELECT子句。

例如,我们有一个名为“employees”的表,它有三个列:id、

name和age。我们可以使用以下语句将查询结果插入到“employees”表中:

INSERT INTO employees (id, name, age) SELECT id, name, age

FROM temp_employees WHERE age > 30;

这将从“temp_employees”表中选择所有年龄大于30的员工,并将它们插入到“employees”表中。

4. 插入默认值

INSERT INTO table_name DEFAULT VALUES;

如果我们需要将默认值插入到表中,我们可以使用INSERT语句的DEFAULT VALUES子句。

例如,我们有一个名为“employees”的表,它有三个列:id、name和age。我们可以使用以下语句将默认值插入到“employees”表中:

INSERT INTO employees DEFAULT VALUES;

这将在“employees”表中插入一行数据,其中id、name和age的值都为默认值。

5. 插入空值

INSERT INTO table_name (column1, column2, column3, ...)

VALUES (NULL, NULL, NULL, ...);

如果我们需要将空值插入到表中,我们可以使用INSERT语句的NULL关键字。

例如,我们有一个名为“employees”的表,它有三个列:id、name和age。我们可以使用以下语句将空值插入到“employees”表中:

INSERT INTO employees (id, name, age) VALUES (1, NULL, 30);

这将在“employees”表中插入一行数据,其中id为1,name为空,age为30。

6. 插入自动生成的值

INSERT INTO table_name (column1, column2, column3, ...)

VALUES (value1, value2, value3, ...) RETURNING column_name

INTO variable_name;

如果我们需要将自动生成的值插入到表中,我们可以使用INSERT语句的RETURNING子句。

例如,我们有一个名为“employees”的表,它有三个列:id、name和age。我们可以使用以下语句将自动生成的id插入到

“employees”表中:

DECLARE

v_id NUMBER;

BEGIN

INSERT INTO employees (name, age) VALUES ('John', 30)

RETURNING id INTO v_id;

DBMS__LINE('Inserted id: ' || v_id);

END;

这将在“employees”表中插入一行数据,其中name为“John”,age为30,并返回自动生成的id值。

7. 插入LOB数据

INSERT INTO table_name (column1, column2, column3, ...)

VALUES (EMPTY_BLOB(), EMPTY_CLOB(), ...);

如果我们需要将LOB(大对象)数据插入到表中,我们可以使用INSERT语句的EMPTY_BLOB和EMPTY_CLOB函数。

例如,我们有一个名为“employees”的表,它有三个列:id、name和resume。我们可以使用以下语句将LOB数据插入到“employees”表中:

INSERT INTO employees (id, name, resume) VALUES (1, 'John',

EMPTY_CLOB());

这将在“employees”表中插入一行数据,其中id为1,name为“John”,resume为一个空的CLOB对象。

8. 插入日期数据

INSERT INTO table_name (column1, column2, column3, ...)

VALUES (TO_DATE('2022-01-01', 'YYYY-MM-DD'), ...);

如果我们需要将日期数据插入到表中,我们可以使用INSERT语句的TO_DATE函数。

例如,我们有一个名为“employees”的表,它有三个列:id、name和hire_date。我们可以使用以下语句将日期数据插入到“employees”表中:

INSERT INTO employees (id, name, hire_date) VALUES (1,

'John', TO_DATE('2022-01-01', 'YYYY-MM-DD'));

这将在“employees”表中插入一行数据,其中id为1,name为“John”,hire_date为2022年1月1日。

9. 插入数值数据

INSERT INTO table_name (column1, column2, column3, ...)

VALUES (123, 3.14, ...);

如果我们需要将数值数据插入到表中,我们可以使用INSERT语句的数值字面量。

例如,我们有一个名为“employees”的表,它有三个列:id、name和salary。我们可以使用以下语句将数值数据插入到“employees”表中:

INSERT INTO employees (id, name, salary) VALUES (1, 'John',

5000.00);

这将在“employees”表中插入一行数据,其中id为1,name为“John”,salary为5000.00。

10. 插入条件数据

INSERT INTO table_name (column1, column2, column3, ...)

SELECT column1, column2, column3, ... FROM table_name

WHERE condition;

如果我们需要将符合条件的数据插入到表中,我们可以使用INSERT语句的SELECT子句。

例如,我们有一个名为“employees”的表,它有三个列:id、

name和age。我们可以使用以下语句将符合条件的数据插入到“employees”表中:

INSERT INTO employees (id, name, age) SELECT id, name, age

FROM temp_employees WHERE age > 30;

这将从“temp_employees”表中选择所有年龄大于30的员工,并将它们插入到“employees”表中。

总结

在本文中,我们介绍了Oracle中的INSERT语句,并提供了一些示例。INSERT语句是SQL语言中最常用的语句之一,它用于将数据插入到表中。我们可以使用INSERT语句插入单行数据、多行数据、查询结果、默认值、空值、自动生成的值、LOB数据、日期数据和数值数据。我们还可以使用INSERT语句的SELECT子句将符合条件的数据插入到表中。


本文标签: 插入 语句 数据 表中 使用