2013年9月4日 星期三

【Oracle 筆記 】表格 Tables 的管理

2008.3.27

學習目標:


學習如何建立與管理Oracle資料庫表格。學習內容如下:

1. 建立表格

CREATE TABLE [ schema_name. ] table_name
   { column datatype [ NOT NULL ] }
   [ TABLESPACE tablespace_name ]

2. 更改表格

ALTER TABLE table_name MODIFY ( column datatype );

3. 表格中, 新增欄位

ALTER TABLE table_name ADD ( column datatype );

4. 清除表格內之資料

TRUNCATE TABLE table_name;

5. 查詢使用者擁有的表格 (User_Tables)

SELECT * FROM USER_TABLES;

6. 查詢使用者擁有的物件型態 (User_Objects)

SELECT * FROM USER_OBJECTS;


7. 查詢使用者擁有的表格、視界 (User_Catalog)

SELECT * FROM USER_CATALOG;


8. 新增表格的說明 (Comment)

COMMENT ON TABLE table_name IS  'comment_text';

9. 更改表格的名稱

RENAME old_table_name TO new_table_name;

10. 刪除表格

DROP TABLE table_name;

11. 查閱 Schema

SELECT * FROM ALL_IND_COLUMNS WHERE TABLE_NAME = 'XXX';



1. 建立表格


 SQL> CREATE TABLE Employee
  2  (EmpID VARCHAR2(5),
  3   EmpName VARCHAR2(20))
  4  TABLESPACE TEST03;
 
已建立表格.

我們查看此表格是否已被建立:

SQL> describe Employee;

 名稱                                      空值?    類型
 ----------------------------------------- -------- ----------------
 EMPID                                              VARCHAR2(5)
 EMPNAME                                       VARCHAR2(20)



2. 更改表格


SQL> ALTER TABLE Employee
  2  MODIFY (EmpName VARCHAR2(30));

已更改表格.

SQL> desc Employee;
 名稱                                      空值?    類型
 ----------------------------------------- -------- --------------
 EMPID                                              VARCHAR2(5)
 EMPNAME                                       VARCHAR2(30)



3. 表格中, 新增欄位


SQL> ALTER TABLE Employee
  2  ADD (PHONE CHAR(20));

已更改表格.

SQL> desc Employee;
 名稱                                      空值?    類型
 ----------------------------------------- -------- --------------------
EMPID                                              VARCHAR2(5)
EMPNAME                                       VARCHAR2(30)
PHONE                                            CHAR(20)




4. 清除表格內之資料


SQL> TRUNCATE TABLE Employee;

表格被截斷.



5. 查詢使用者擁有的表格


SELECT * FROM USER_TABLES;





我們可用Describe 指令來查詢USER_TABLES的結構內容:

SQL> DESC USER_TABLES;

6. 查詢使用者擁有的物件型態


SELECT * FROM USER_OBJECTS;



7. 查詢使用者擁有的表格、視界


SELECT * FROM USER_CATALOG;

結果顯示如下:

TABLE_NAME                                                        TABLE_TYPE
----------------------------------------------------------------------------------
SQLPLUS_PRODUCT_PROFILE                     TABLE
PRODUCT_PRIVS                                                VIEW
PRODUCT_USER_PROFIL                               SYNONYM
...
以選取 178 個資料列.

沒有留言:

張貼留言

prettyPrint();