1. 程式人生 > 其它 >ORACLE表格建立,修改,刪除

ORACLE表格建立,修改,刪除

ORACLE表格建立,修改,刪除

資料定義語言(DDL),包括create建立命令,alter修改命令,drop刪除命令等。(主要針對表的物件結構)

表的資料型別:

  1、字串型別

    char   --預設一個字元長度

    char(10)----該欄位為10個字元長度,分配了10個長度,只用到5個長度的話,剩下的會自動用空格補全

    varchar2(50)--分配了50個長度,只用到5個長度的話,剩下的不會佔用

  2、數字型別

    number --預設38位

    number(10) -- 10位整數長度

    number(5,2)--總長度為 5 ,小數部分為 2,整數部分 3 (0~999.99)

  3、日期型別

    date

    timestamp

建立表:

  CREATE TABLE 表名(欄位名1 欄位型別(長度),

            欄位名2 欄位型別(長度),
            欄位名3 欄位型別(長度),
          ...);

建立一個圖書表:
  CREATE TABLE BOOK(BNO NUMBER(5),
            BNAME VARCHAR(20),
            RUDATE DATE,


            BPRICE NUMBER(10,2)
  );

  

--複製備份表
  CREATE TABLE 表名 AS 查詢的結果集(SELECT);
--備份一份emp表

  CREATE TABLE EMP_ZHI AS SELECT * FROM EMP;

--只複製表的結構
CREATE TABLE EMP_SC AS SELECT * FROM EMP WHERE 1=2;

--刪除表(表結構,物件)
DROP TABLE EMP_SC;

--清空表(資料)
TRUNCATE TABLE 表明
TRUNCATE TABLE EMP_ZHI;

--修改表

ALTER 針對表結構的修改

1、修改表的欄位名稱

將EMP_ZHI表的EMPNO欄位改為EMP

ALTER TABLE EMP_ZHI RENAME COLUMN EMPNO TO EMP;

2、欄位型別的修改

ALTER TABLE EMP_ZHI MODIFY EMP VARCHAR(8);--可以改大,也可以改小,但是不能小於當前所存在的最大值長度
ALTER TABLE EMP_ZHI MODIFY EMP NUMBER(20)--當列中有值的時候,只能改大不能改小

3、增加一個欄位

ALTER TABLE 表名 ADD 欄位名 欄位型別;

ALTER TABLE EMP_ZHI ADD RUZI_DATE DATE;

4、刪除一個欄位

ALTER TABLE 表名 DROP COLUMN 欄位名;

ALTER TABLE EMP_ZHI DROP COLUMNRUZI_DATE;

5、修改表明

ALTER TABLE 表名 RENAME TO 新表名

ALTER TABLE EMP_ZHI RENAME TO EMP_SSS;

例題:複製一整自己的emp表

  並將EMPNO的欄位長度修改小於原表

  --先複製一張表

  CREATE TABLE EMP_XB AS SELECT * FROM EMP;

  --新增一個新的欄位

  ALTER TABLE EMP_XB ADD TEMP NUMBER(10);

  --將EMPNO的資料複製到TEMP

  UPDATE EMP_XB SET TEMP = EMPNO;

  --將EMP_XB表格的EMPNO更新為空

  UPDATE EMP_XB SET EMPNO = NULL;

  --修改EMPNO的欄位型別(向下)

  ALTER TABLE EMP_XB MODIFY EMPNO NUMBER(5);

  --將TEMP的資料複製到EMPNO

  UPDATE EMP_XB SET EMPNO = TEMP;

  --將TEMP欄位刪除

  ALTER TABLE EMP_XB DROP COLUMN TEMP;