ORACLE_建立和管理表,oracle建立

來源:互聯網
上載者:User

ORACLE_建立和管理表,oracle建立


ORACLE_建立和管理表

①常見的資料庫物件
表:基本的資料存放區集合,由行和列組成。
視圖:從表中抽出的邏輯上相關的資料集合。
序列:提供有規律的數值。
索引:提高查詢的效率
同義字:給對象起別名

②Oracle 資料庫中的表
1.使用者定義的表:
使用者自己建立並維護的一組表,包含了使用者所需的資訊
如:SELECT * FROM user_tables;查看使用者建立的表
2.資料字典:
由 Oracle Server 自動建立的一組表
包含資料庫資訊

③查詢資料字典
查看使用者定義的表.
SELECT table_name FROM user_tables ;
查看使用者定義的各種資料庫物件
SELECT DISTINCT object_type FROM user_objects ;
查看使用者定義的表, 視圖, 同義字和序列
SELECT * FROM user_catalog

④表名和列名命名規則:
1.必須以字母開頭
2.必須在 1–30 個字元之間
3.必須只能包含 A–Z, a–z, 0–9, _, $, 和 #
4.必須不能和使用者定義的其他對象重名
5.必須不能是Oracle 的保留字

⑤CREATE TABLE 語句
必須具備:
1.CREATE TABLE許可權
2.儲存空間
CREATE TABLE [schema.]table
     (column datatype [DEFAULT expr][, ...]);

3.必須指定:
    表名
    列名, 資料類型, 尺寸

4.資料類型:描述
VARCHAR2(size):可變長字元資料
CHAR(size):定長字元資料
NUMBER(p,s):可變長數值資料
DATE:日期型資料
LONG:可變長字元資料,最大可達到2G
CLOB:字元資料,最大可達到4G
RAW (LONG RAW):原始的位元據
BLOB:位元據,最大可達到4G
BFILE:儲存外部檔案的位元據,最大可達到4G
ROWID:行地址

5.使用子查詢建立表
使用 AS subquery 選項,將建立表和插入資料結合起來
CREATE TABLE table
     [(column, column...)]
AS subquery;
指定的列和子查詢中的列要一一對應
通過列名和預設值定義列

註:原來表中的資料會插入到新建立的表中,若不需要資料,添加一個FALSE條件即可

⑥ALTER TABLE 語句
1.使用 ALTER TABLE 語句追加, 修改, 或刪除列的文法
追加列
ALTER TABLE table
ADD     (column datatype [DEFAULT expr]
     [, column datatype]...);

修改列
ALTER TABLE table
MODIFY    (column datatype [DEFAULT expr]
     [, column datatype]...);

註:如果列中有資料是不能修改類型的,預設值只對後添加的資料有效

刪除列
ALTER TABLE table
DROP COLUMN  column_name;

重新命名列
ALTER TABLE table_name
RENAME COLUMM old_column_name TO new_column_name

設定列不可用
ALTER TABLE table_name
set unused COLUMM column_name

⑦刪除表
資料和結構都被刪除
所有正在啟動並執行相關事務被提交
所有相關索引被刪除
DROP TABLE 語句不能復原

DROP TABLE table_name;

⑧清空表
TRUNCATE TABLE 語句:
刪除表中所有的資料
釋放表的儲存空間
TRUNCATE語句不能復原
可以使用 DELETE 語句刪除資料,可以復原

TRUNCATE TABLE table_name;

⑨改變對象的名稱
執行RENAME語句改變表, 視圖, 序列, 或同義字的名稱
必須是對象的擁有者

RENAME old_object_name TO new_object_name;

註:以上DDL語言都不能復原,執行完就預設提交


怎在Oracle中建立表與資料表空間?

1.建資料表空間ORACLE中,資料表空間是資料管理的基本方法,所有使用者的對象要存放在資料表空間中,也就是使用者有空間的使用權,才能建立使用者物件.否則是不充許建立對象,因為就是想建立對象,如表,索引等,也沒有地方存放,Oracle會提示:沒有儲存配額.  因此,在建立對象之前,首先要分配儲存空間.
  分配儲存,就要建立資料表空間:
  建立資料表空間樣本如下:
CREATE TABLESPACE "SAMPLE"LOGGINGDATAFILE 'D:\ORACLE\ORADATA\ORA92\LUNTAN.ora' SIZE 5M
EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO上面的語句分以下幾部分:第一: CREATE TABLESPACE "SAMPLE" 建立一個名為"SAMPLE"的資料表空間.
對錶空間的命名,遵守Oracle的命名規範就可了.
ORACLE可以建立的資料表空間有三種類型:
(1)TEMPORARY:暫存資料表空間,用於臨時資料的存放;
建立暫存資料表空間的文法如下:
CREATE TEMPORARY TABLESPACE "SAMPLE"......
(2)UNDO :還原資料表空間.用於存入重做記錄檔.
建立還原資料表空間的文法如下:
CREATE UNDO TABLESPACE "SAMPLE"......
(3)使用者資料表空間:最重要,也是用於存放使用者資料資料表空間
可以直接寫成: CREATE TABLESPACE "SAMPLE"
TEMPORARY和UNDO資料表空間是ORACLE管理的特殊的資料表空間.只用於存放系統相關資料.
第二: LOGGING
有NOLOGGING和LOGGING兩個選項,
NOLOGGING:建立資料表空間時,不建立重做日誌.
LOGGING和NOLOGGING正好相反,就是在建立資料表空間時產生重做日誌.
用NOLOGGING時,好處在於建立時不用組建記錄檔,這樣資料表空間的建立較快,但是沒能日誌,資料丟失後,不能恢複,但是一般我們在建立資料表空間時,是沒有資料的,按通常的做法,是建完資料表空間,並匯入資料後,是要對資料做備份的,所以通常不需要資料表空間的建立日誌,因此,在建立資料表空間時,選擇NOLOGGING,以加快資料表空間的建立速度.第三: DATAFILE用於指定資料檔案的具體位置和大小.
如: DATAFILE 'D:\ORACLE\ORADATA\ORA92\LUNTAN.ora' SIZE 5M
說明檔案的存放位置是'D:\ORACLE\ORADATA\ORA92\LUNTAN.ora' ,檔案的大小為5M.
如果有多個檔案,可以用逗號隔開:
DATAFILE 'D:\ORACLE\ORADATA\ORA92\LUNTAN.ora' SIZE 5M,'D:\ORACLE\ORADATA\ORA92\dd.ora' SIZE 5M但是每個檔案都需要指明大小.單位以指定的單位為準如5M或500K.
對具體的檔案,可以根據不同的需要,存放大不同的介質上,如磁碟陣列,以減少IO竟爭.
指定檔案名稱時,必須為絕對位址,不能使用相對位址.第四: EXTE......餘下全文>>
 
用oracle建立一個表

建立表語句
-- Create tablecreate table CAPITAL_ADJUST( CAPITAL_ID VARCHAR2(10), CAPITAL_NAME VARCHAR2(50), TYPE VARCHAR2(10), BELONG VARCHAR2(50), IN_DEP VARCHAR2(50), ID VARCHAR2(10) not null, IN_DEP_LEADER VARCHAR2(50), OUT_DEP_LEAD VARCHAR2(50))-- Add comments to the columns comment on column CAPITAL_ADJUST.CAPITAL_ID is '資產編號';comment on column CAPITAL_ADJUST.CAPITAL_NAME is '資產名稱 ';comment on column CAPITAL_ADJUST.TYPE is '規格型號';comment on column CAPITAL_ADJUST.BELONG is '所屬部門';comment on column CAPITAL_ADJUST.IN_DEP is '調入部門 ';comment on column CAPITAL_ADJUST.ID is '編號';comment on column CAPITAL_ADJUST.IN_DEP_LEADER is '撥出部門負責人 ';comment on column CAPITAL_ADJUST.OUT_DEP_LEAD is '調入部門負責人';-- Create/Recreate primary, unique and foreign key constraints alter table CAPITAL_ADJUST add constraint PK_CAPITAL primary key (ID);插入資料sql
INSERT INTO CAPITAL_ADJUST (ID, CAPITAL_ID, CAPITAL_NAME, TYPE, BELONG, IN_DEP, IN_DEP_LEADER, OUT_DEP_LEAD)VALUES (1, '001', '電腦', 'V001', '部門1', '部門2', '調入負責人', '調出負責人');刪除資料sql
DELETE FROM CAPITAL_ADJUST T WHERE T.ID = 1;修改表
ALTER TABLE CAPITAL_ADJUST DROP COLUMN OUT_DEP_LEAD;查詢記錄
SELECT * FROM CAPITAL_ADJUST;
 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.