Oracle(十)——————-建立與管理表

來源:互聯網
上載者:User
常見的資料庫物件1、表:基本資料存放區集合,由行和列組成2、視圖:從表中抽出的邏輯上相關的資料集合3、序列:提供有規律的數值4、索引:提高查詢的效率5、同義字:給對象起別名使用者定義的表:a)使用者自己建立並維護的一組表b)包含了使用者所需的資訊資料字典:c)由 Oracle Server 自動建立的一組表d)包含資料庫資訊命名規則:表名和列名:必須以字母開頭必須在 1–30 個字元之間必須只能包含 A–Z, a–z, 0–9, _, $, 和 #必須不能和使用者定義的其他對象重名必須不能是Oracle 的保留字Oracle預設儲存是都存為大寫資料庫名只能是1~8位,datalink可以是128位,和其他一些特殊字元Create table 語句:必須具備:CREATE TABLE許可權儲存空間必須指定:表名列名, 資料類型, 資料類型的大小   create table demo (name varchar(20) )使用子查詢建立表:時候用 AS subquery 選項,將建立表和插入資料結合起來指定的列和子查詢中的列要一一對應通過列名和預設值定義列SQL> create table demo2  2  as  3  select ename,sal from emp ;Default值:執行insert操作時,可以為其指定預設值值、運算式和SQL語句都可以作為預設值其他的列名或者是偽列都是非法的預設值的類型必須和該列的類型一致CREATE  TABLE  hire_dates  (id NUMBER(8),hire_date  DATE  DEFAULT  SYSDATE);資料類型:1、varchar2(size):可變長字元資料最大長度為4000 bytes 可做索引的最大長度為7492、char(size):固定長字元資料最大長度為2000 bytes3、number(p,s):可變字元資料    數字類型    P有效位,S為小數位4、date:日期型資料5、long:可變長字元資料,最大可達2G6、clob:字元資料,最大可達到4G7、raw(long,raw):原始的位元據8、blob:位元據,最大可達到4G9、bfile:儲存外部檔案的位元據,最大可達到4G10、rowid:行地址    是一個偽列ALTER TABLE 語句使用 ALTER TABLE 語句追加, 修改, 或刪除列的文法.追加一個新列,新列是表中的最後一列SQL> alter table demo add (  2  sal number  3  );表已更改。可以修改列的資料類型, 尺寸, 和預設值。對預設值的修改隻影響今後對錶的修改SQL> alter table demo modify (sal varchar2(20));表已更改。使用 DROP COLUMN 子句刪除不再需要的列.SQL> alter table demo drop column sal;表已更改。刪除表:資料和結構都被刪除所有正在啟動並執行相關事物被提交所有相關索引被刪除DROP TABLE 語句不能復原SQL> drop table qqq;改變對象的名稱:執行RENAME語句改變表, 視圖, 序列, 或同義字的名稱必須是對象的擁有者SQL> rename demo2 to qqq;清空表:TRUNCATE TABLE 語句:刪除表中所有的資料釋放表的儲存空間TRUNCATE語句不能復原可以使用 DELETE 語句刪除資料SQL> truncate table qqq;約束約束是表一級的限制如果存在依賴關係,約束可以防止錯誤的刪除資料約束的類型:NOT NULLUNIQUE PRIMARY KEYFOREIGN KEYCHECK約束規則:使用者可以自訂約束,也可以使用Oracle Server的sys_cn格式命名約束約束建立的時機:建立表的時候,同時建立約束表結構建立完成後約束可以定義在列一級,或者是表一級通過資料字典查看約束非空性約束與唯一性限制式:create table checkTable(email varchar2(30) not null,constraint chk_email unique(email));insert into checkTable values ('111@111.com');會插入一條記錄,如果再插入一條相同的記錄,會報錯,因為有唯一性限制式,當然如果再增加幾個欄位,向其它欄位中插入資訊而不向email中插入任何資料也是會報錯的,因為有不為空白的約束,如果email有一個預設值就不會出現由於不可為空而出現的問題了主鍵約束:  1  create table bookType(  2  bt_id number(9),  3  bt_name varchar2(30),  4  constraint bt_id_pk primary key(bt_id)  5* )外鍵約束:  1  create table books(  2  bk_id number(9),  3  bk_name varchar2(30),  4  bt_id number(9),  5  constraint bk_id_pk primary key(bk_id),  6  constraint bt_id_fk foreign key (bt_id) references bookType(bt_id) on delete cascade  7* )SQL> /不能刪除有外鍵約束的記錄外鍵約束(續)FOREIGN KEY: 在子表中,定義了一個表級的約束REFERENCES: 指定表和父表中的列ON DELETE CASCADE: 當刪除父表時,串聯刪除子表記錄ON DELETE SET NULL: 將子表的相關依賴記錄的外索引值置為nullSQL> delete from bookType where bt_id=1;check約束定義每一行記錄所必須滿足的條件下面的運算式可以使用在check約束中:引用CURRVAL, NEXTVAL, LEVEL, 和ROWNUM調用SYSDATE, UID, USER, 和USERENV 函數另一個表的查詢記錄SQL> create table check01(  2  sal number(3,2)  3  ,  4  constraint sal_ck check(sal>0.2)  5  );

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.