語法結構:INSERT INTO 表名(列名1,列名2……) VALUES (值1,值2……)
代碼演示:
SQL> INSERT INTO INFOS VALUES ( ①
2 's100102', '林沖', '男', 22, 2,
3 TO_DATE('2009-8-9 06:30:10',' YYYY-MM-DD HH24:MI:SS '), ②
4 ,default, '1001'③
5 );
代碼解析:
① 表名後面缺省了列名,默認是所有列名,values中的值與表中列的順序和數據類型一一對應。
在SQL*Plus中一條語句可以寫在多行,那麼從第二行開始,sqlplus會為每一行前面給出行號。
② 在Oracle中,日期是國際化的,不同的區域安裝的數據庫,默認的日期格式不同,因此為了程序便於移植,
日期的輸入要使用TO_DATE函數對日期格式化後輸入,采用格式化字符串對日期進行格式化時,
格式化字符串中字符不區分大小寫,常見的格式化字符如下:
yyyy表示四位年份;mm表示兩位月份;dd表示日期;hh24表示小時從1-23;hh12也表示小時從0-11;
mi 表示分鐘;ss表示秒
③ 在遇到存在默認值的列時,可以使用default值代替。
在Oracle中,一個INSERT命令可以把一個結果集一次性插入到一張表中。
使用的語句是:INSERT INTO 表 SELECT子句
代碼演示:INSERT向表中插入一個結果集
SQL> INSERT INTO INFOS2 SELECT * FROM INFOS;
在這種語法下,要求結果集中每一列的數據類型必須與表中的每一列的數據類型一致,結果集中的列的數量與表中的列的數量一致。