数据库_数据操纵:[1]插入数据
1、用于插入数据的INSERT语句——通常,INSERT语句为单表插入单行记录;而最常用的插入数据方式是通过子查询的方式一次将多条记录插入到单表中,多种关系数据库的支持这一方式。在Oracle数据库中自Oracle 9i开始,还能通过INSERT语句提供多表插入的功能。
1、使用VALUES子句插入单行数据:
插入单行数据语法:
INSERT INTO table_name[(column[,column...])]
VALUES(value[,value...]);
table_name为表名,column用于指定列名,value表示对应列的值。有多个列,使用逗号隔开,同时也必须有对应个数的列值,列值之间也用逗号隔开。
(卟指定列表示要插入全部列值)如下图:
![数据库_数据操纵:[1]插入数据](https://exp-picture.cdn.bcebos.com/0cdb2f0e1799e92a956b87f3e1fec314f0c5a06a.jpg)
2、 通过子查询插入多条数据:
语法如下:
INSERT INTO table_name[(column[,column...])] subquery;
subquery子查询得到的结果集将会插入到table_name的表中。如果不指定列名,则使用子查询结果集的列;如果指定列名,则列的顺序、个数和数据类型都必须和子查询中的顺序、个数和数据类型完全匹配。
![数据库_数据操纵:[1]插入数据](https://exp-picture.cdn.bcebos.com/430174fec314f1c5a13d84723c27ac5307889d6a.jpg)
1、多表INSERT语句:
语法如下:
INSERT ALL|FIRST
insert_into_clause[value_clause] subquery;
insert_into_clause用来指定INSERT子句;value_clause用来指定值子句;subquery用于指定提供数据的子查询。使用ALL关键字时,在每个条件子句上都要执行INTO子句后的子查询;使用FIRST关键字时,如果有数据已经满足先前条件,并且已经被插入到某个表中,那么该行数据在后续插入中将不会被再次使用(每行数据按照顺序只会被插入一次)。
![数据库_数据操纵:[1]插入数据](https://exp-picture.cdn.bcebos.com/94af5fc1b727ac533e5b549f2ecadce89148996a.jpg)