Oracle插入(insert into)
轉載:http://www.oraclejsq.com/article/010100199.html
Oracle對表數據的插入是使用insert命令來執行的。
insert 命令結構:
insert
into
表名(列名1,列名2,列名3.....)
values
(值1,值2,值3.....);
語法解析:
1、列名可以省略,當列名不填時,默認的是表中的所有列,列的順序是按照建表的順序進行排列的。
2、列名的數量和值的數量要一致,並且值的類型要和列的類型一一對應。
3、當表當中某些字段設置了某些約束的情況下,必須按照字段的約束來進行該值的插入,例如:學生信息表(STUINFO)當中設置有主鍵(主鍵字段是STUID),因此該字段必須具有唯一性,不能和原有的數據重復。age、stuname、calassno等字段是必填字段,因此是必須有值的。
案例1:向學生信息表(stuinfo)插入一條數據:
insert
into
STUDENT.STUINFO (STUID, STUNAME, SEX, AGE, CLASSNO, STUADDRESS, GRADE, ENROLDATE, IDNUMBER)
values
(
'SC201801005'
,
'龍七'
,
'1'
, 26,
'C201801'
,
'福建省廈門市XXX號'
,
'2018'
, to_date(
'01-09-2018'
,
'dd-mm-yyyy'
),
'3503021992XXXXXXXX'
);
select
*
from
student.stuinfo t
where
t.stuid=
'SC201801005'
;
案例2:向學生信息表(stuinfo)插入重復數據:
insert
into
STUDENT.STUINFO (STUID, STUNAME, SEX, AGE, CLASSNO, STUADDRESS, GRADE, ENROLDATE, IDNUMBER)
values
(
'SC201801005'
,
'龍七'
,
'1'
, 26,
'C201801'
,
'福建省廈門市XXX號'
,
'2018'
, to_date(
'01-09-2018'
,
'dd-mm-yyyy'
),
'3503021992XXXXXXXX'
);
insert插入一個select的結果集
在 Oracle 中,一個 INSERT 命令可以把一個select結果集一次性插入到一張表中。
語法結構如下:
INSERT
INTO
表
SELECT
子句;
案例3:把上一章節利用Oracle查詢(select)語句備份的表stuinfo_2018的數據一次插入表stuinfo當中:
delete
from
student.stuinfo t
where
t.stuid
in
(
select
b.stuid
from
student.stuinfo_2018 b );
insert
into
student.stuinfo
select
*
from
student.stuinfo_2018;
select
*
from
student.stuinfo;