1. 程式人生 > >資料定義語言(DDL)

資料定義語言(DDL)

建立資料庫表:

CREATE TABLE UC
(
userId VARCHAR2(53) NOT NULL,
userloginName VARCHAR2(35) NOT NULL,
userPassWord VARCHAR2(25) NOT NULL,
userExtend VARCHAR2(1000)
);

在ORACLE中給表、列(欄位)增加註釋以及讀取註釋

0、查看錶中有多少個列

 SELECT TNAME,COUNT(*) FROM COL GROUP BY TNAME;
1、表添加註釋:

   SQL>comment on table 表名 is '註釋';
   eg:COMMENT ON TABLE UC IS '使用者登入表';


2、列添加註釋:

   SQL>comment on column 表名.列名 is '註釋';
   eg:COMMENT ON COLUMN UC.userloginName IS '使用者登入名';

3、讀取表註釋:

  SQL>select * from user_tab_comments where comments is not null;

  或SELECT * FROM USER_TAB_COMMENTS; 
  eg:SELECT * FROM USER_TAB_COMMENTS WHERE COMMENTS IS NOT NULL;

4:讀取列註釋:

 SQL>select * from user_col_commnents where comments is not null and table_name='表名'


  或SELECT * FROM USER_COL_COMMENTS WHERE TABLE_NAME='表名';

5:讀取表資訊

DESC 表名

6:向建立好的表中插入一個列:

AlTER TABLE 表名 ADD 列名 VARCHAR2(25);

7:刪除一個表的主鍵:
alter table 表名 drop primary key cascade;
8:修改表名:
  ALTER TABLE 舊錶名 RENAME TO 新表名;
  eg:ALTER TABLE UCCCC RENAME TO UC;

9:查看錶名:
  SQL> SELECT TNAME FROM TAB;
10:修改表的列(欄位名):


  ALTER TABLE 表名 RENAME COLUMN 舊欄位名 TO 新欄位名稱;
11:修改表的列的資料型別(長度):
  ALTER TABLE 表名 MODIFY 列名 資料型別;
  eg:ALTER TABLE UC MODIFY USERID VARCHAR2(53);

   刪除表中的列:

  ALTER TABLE 表名 DROP COLUMN 列名;

12:刪除使用者:

drop user ×× cascade

13:刪除表:
1.DELETE (刪除資料表裡記錄的語句)
  DELETE FROM表名 WHERE 條件;
注意:刪除記錄並不能釋放ORACLE裡被佔用的資料塊表空間. 它只把那些被刪除的資料塊標成unused.
2.如果確實要刪除一個大表裡的全部記錄, 可以用 TRUNCATE 命令, 它可以釋放佔用的資料塊表空間

TRUNCATE TABLE 表名;
此操作不可回退.
   truncate和 delete只刪除資料不刪除表的結構(定義)
3.drop語句將刪除表的結構被依賴的約束(constrain),觸發器(trigger),索引(index); 依賴於該表的儲存過程/函式將保留,但是變為invalid狀態.

 DROP TABLE 表名;
4.刪除表空間:
 DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;