在oracle中,可以使用“insert”語句來向表中增加數據,該語句可以向數據庫已有的表中插入一行或者多行元組數據,語法“insert into 表名(列名1,列名2,列名3…..)values(值1,值2,值3…..);”。
本教程操作環境:Windows7系統、Oracle 11g版、Dell G3電腦。
在oracle中,可以使用“insert”語句來向表中增加數據。
insert語句可以將數據插入到表中,能向數據庫已有的表中插入一行或者多行元組數據。
oracle插入數據的語法:
insert?into?表名(列名1,列名2,列名3.....)values(值1,值2,值3.....);
語法解析:
1、列名可以省略,當列名不填時,默認的是表中的所有列,列的順序是按照建表的順序進行排列的。
2、列名的數量和值的數量要一致,并且值的類型要和列的類型一一對應。
3、當表當中某些字段設置了某些約束的情況下,必須按照字段的約束來進行該值的插入,例如:學生信息表(STUINFO)當中設置有主鍵(主鍵字段是STUID),因此該字段必須具有唯一性,不能和原有的數據重復。age、stuname、calassno等字段是必填字段,因此是必須有值的。
oracle插入數據的示例
案例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?子句
案例:把上一章節利用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;
結果如下:
推薦教程:《Oracle教程》