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的固定搭配
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_OUTPUT.PUT_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(), ...);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论