程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> 關於Oracle數據庫 >> 用SQL錄入數據

用SQL錄入數據

編輯:關於Oracle數據庫

  數據的錄入采用【insert】語句。對應不同的錄入方式,【insert】語句的語法會有所變化。

  4.6.1 單行記錄的錄入

  1. 語法

  insert into 數據表(字段名1,字段名2,……) values(字段名1的值, 字段名2的值,……)。

  由於字段的類型不同,在書寫字段值的時候要注意格式。

  數值型字段,可以直接寫值。

  字符型字段,其值上要加上單引號。

  日期型字段,其值上要加上單引號,同時還要注意年、月、日的排列次序。

  在數據的插入語句中,插入列排序和插入值要一一對應。字符型和日期型字段要加上單引號,非空列必須有值。

  2. 實例

  在scott.emp數據表裡共包含了3種類型的字段。

  empno,number(4),NOT NULL,數值型,長度為4,不能為空。

  ename,varchar2(10),字符型,長度為10。

  hiredate,date,日期型。

  我們以在這3個字段中插入記錄為例進行說明。

  對於日期型的數據,讀者往往會感覺為難,因為不知道年、月、日的排列順序和格式,這裡教給大家幾個方法。首先查詢范例數據表中的數據,然後“依葫蘆畫瓢”就可以了。

  (1)在【命令編輯區】輸入“select empno, ename, hiredate from scott.emp;”,然後單擊【執行】按鈕,出現如圖4.41所示的結果。因此,筆者的計算機系統默認的日期型數據格式應該為“日-月-年”。

  【參見光盤文件】:\第4章\4.6\461-1.sql。

  (2)在【命令編輯區】輸入“insert into scott.emp(empno, ename, hiredate) values (7999, ’JONE’,’25-11月-2002’);”,然後單擊【執行】按鈕,出現如圖4.42所示的結果。

  【參見光盤文件】:\第4章\4.6\461-2.sql。

  (3)在【命令編輯區】輸入“select * from scott.emp where empno=7999;”,然後單擊【執行】按鈕,出現如圖4.43所示的結果。

  【參見光盤文件】:\第4章\4.6\461-3.sql。

  4.6.2 多行記錄的錄入

  在數據的錄入中,經常需要將從數據表中查詢到的數據稍做修改成批錄入的情況,這就是多行數據的錄入。

  1. 語法

  insert into 數據表(字段名1,字段名2,……)

  (select(字段名1或運算, 字段名2或運算,……) from 數據表 where 條件)

  實際上,首先利用子查詢語句查詢結果,然後再利用insert語句將結果插入數據表。子查詢和insert中的數據表既可以相同,也可以不同,但要求查詢結果的字段和insert插入的數據表中字段屬性完全一致。

  2. 實例

  在【命令編輯區】執行以下語句。

  ―――――――――――――――――――――――――――――――――――――

  insert into scott.emp(empno,ename,hiredate) (select empno+100,ename,hiredate from scott.emp where empno>=6999 );

  ―――――――――――――――――――――――――――――――――――――

  【參見光盤文件】:\第4章\4.6\462.sql。

  單擊【執行】按鈕,出現如圖4.44所示的結果。

  4.6.3 表間數據復制

  可以從一個數據表中選擇需要的數據插入到全新的數據表中。

  (1)在【命令編輯區】執行以下語句。

  

  ―――――――――――――――――――――――――――――――――――――
  
        create table scott.test
   
        as
            (
    
        select distinct empno,ename,hiredate
            from scott.emp
            where empno>=7000
            );
  
        ―――――――――――――――――――――――――――――――――――――

  【參見光盤文件】:\第4章\4.6\463.sql。

  然後單擊【執行】按鈕,出現如圖4.45所示的結果。

  上述語句的功能是創建一個名為scott.test的數據表,表結構包含3個字段。並將scott.emp中具有不同的empno字段,且empno>=7000的數據復制到scott.test數據表中。

  (2)在【命令編輯區】輸入“select * from scott.test;”語句,然後單擊【執行】按鈕,出現如圖4.46所示的結果。

  這裡的create table語句的功能是創建新的數據表,上述過程實際是分3步執行的。首先查詢符合要求的數據,其次建立3個字段的名為test的數據空表,最後是將查詢的數據插入到test數據表中。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved