数据库_数据操纵:[1]插入数据

作者:风筝 | 创建时间: 2023-06-04
在Oracle 11g中,DML语句包括有INSERT、UPDATE、DELETE、EXPLAIN PLAN、GALL、LOCK TABLE、MERGE等语句。数据库执行DML操作时,是以事务方式进行管理的(具体了解请阅读另一条“数据库_事...
数据库_数据操纵:[1]插入数据

简介

用于插入数据的INSERT语句——通常,INSERT语句为单表插入单行记录;而最常用的插入数据方式是通过子查询的方式一次将多条记录插入到单表中,多种关系数据库的支持这一方式。在Oracle数据库中自Oracle 9i开始,还能通过INSERT语句提供多表插入的功能。

单表插入数据

使用VALUES子句插入单行数据: 插入单行数据语法: INSERT INTO table_name[(column[,column...])] VALUES(value[,value...]); table_name为表名,column用于指定列名,value表示对应列的值。有多个列,使用逗号隔开,同时也必须有对应个数的列值,列值之间也用逗号隔开。 (卟指定列表示要插入全部列值)如下图:

通过子查询插入多条数据: 语法如下: INSERT INTO table_name[(column[,column...])] subquery; subquery子查询得到的结果集将会插入到table_name的表中。如果不指定列名,则使用子查询结果集的列;如果指定列名,则列的顺序、个数和数据类型都必须和子查询中的顺序、个数和数据类型完全匹配。

多表插入数据

多表INSERT语句: 语法如下: INSERT ALL|FIRST insert_into_clause[value_clause] subquery; insert_into_clause用来指定INSERT子句;value_clause用来指定值子句;subquery用于指定提供数据的子查询。使用ALL关键字时,在每个条件子句上都要执行INTO子句后的子查询;使用FIRST关键字时,如果有数据已经满足先前条件,并且已经被插入到某个表中,那么该行数据在后续插入中将不会被再次使用(每行数据按照顺序只会被插入一次)。

温馨提示

使用INSERT语句时,如果为数字类型的列提供的列值可以直接提供数字,如果是字符或者日期类型,必须用单引号引起。
没有给定值的列上如果没有设置默认值将设置为NULL;
在插入日期类型数据时,尽量使用TO_DATE转换函数的形式,这种形式比默认的更可靠。
点击展开全文

更多推荐