顾美玲勾引管家|日韩黄色成人|国产精品theporn动漫|欧美日日日|国产精品探花在线

專業只做數據庫實訓和認證的品牌機構

微信公眾號新浪微博
免費咨詢電話:400-0909-964
當前位置: 網站首頁 > DBA實戰 > DBA課程 > Oracle入門教程:創建表和約束

Oracle入門教程:創建表和約束

文章來源: 更新時間:2016/7/20 11:42:59

在線老師點擊咨詢:

最新學訊:近期OCP認證正在報名中,因考試人員較多請盡快報名獲取最近考試時間,報名費用請聯系在線老師,甲骨文官方認證,報名從速!

我要咨詢

Oracle入門教程:創建表和約束,Oracle創建表同SQL Server一樣,使用CREATE TABLE命令來完成。創建約束則使用如下命令:

語法格式:ALTER TABLE命令

   ALTER TABLE 表名 ADD CONSTRAINT 約束名 約束內容。

不論創建表還是約束,與SQL Server基本相同,注意:在Oracle中default是一個值,而SQL Server中default是一個約束,因此Oracle的default設置可以在建表的時候創建。

案例1:創建一個學生信息(INFOS)表和約束

代碼演示:Oracle創建表和約束

CREATE TABLE INFOS

(

  STUID VARCHAR2(7) NOT NULL,    --學號 學號=‘S’+班號+2位序號

  STUNAME VARCHAR2(10) NOT NULL,  --姓名

  GENDER VARCHAR2(2) NOT NULL,    --性別 

  AGE NUMBER(2) NOT NULL,        --年齡

  SEAT NUMBER(2) NOT NULL,        --座號

  ENROLLDATE DATE,      --入學時間

  STUADDRESS VARCHAR2(50) DEFAULT '地址不詳',      --住址

  CLASSNO VARCHAR2(4) NOT NULL    --班號 班號=學期序號+班級序號 

)

ALTER TABLE INFOS ADD CONSTRAINT PK_INFOS PRIMARY KEY(STUID) 

/

ALTER TABLE INFOS ADD CONSTRAINT CK_INFOS_GENDER 

CHECK(GENDER = '' OR GENDER = '') 

/

ALTER TABLE INFOS ADD CONSTRAINT CK_INFOS_SEAT

CHECK(SEAT >=0 AND SEAT <=50) 

/

ALTER TABLE INFOS ADD CONSTRAINT CK_INFOS_AGE 

CHECK(AGE >=0 AND AGE<=100) 

/

ALTER TABLE INFOS ADD CONSTRAINT CK_INFOS_CLASSNO 

CHECK((CLASSNO >='1001' AND CLASSNO<='1999') OR

(CLASSNO >='2001' AND CLASSNO<='2999')) 

/

ALTER TABLE INFOS ADD CONSTRAINTS UN_STUNAME UNIQUE(STUNAME) 

/

代碼解析:

① 在Oracle代碼中,“/”執行緩存區中的語句,由于緩沖區中只存儲一條剛剛保存過語句,由于每條語句沒有用分號結尾,只是保存在緩沖區,因此每條語句后面都有單獨一行“/”。

② 創建一個主鍵約束。

③ 與 ④ ⑤ ⑥ ⑦一起創建各種check約束。其中⑦是唯一約束,表示該列值是唯一的,列中的值不能重復。

Oracle中創建外鍵約束與SQL Server相同。比如:現有成績表定義如下:

案例2:創建一個成績表(SCORES)表和約束

代碼演示:Oracle創建表和約束

CREATE TABLE SCORES

(

     ID NUMBER ,        --ID 

     TERM VARCHAR2(2),                                  --學期 S1S2

      STUID VARCHAR2(7) NOT NULL,                  --學號

      EXAMNO VARCHAR2(7) NOT NULL,               --考號 E+班號+序號   

      WRITTENSCORE NUMBER(4,1) NOT NULL,       --筆試成績

      LABSCORE NUMBER(4,1) NOT NULL              --機試成績

)

ALTER TABLE SCORES

    ADD CONSTRAINT CK_SCORES_TERM CHECK(TERM = 'S1' OR TERM ='S2')

/

ALTER TABLE SCORES

    ADD CONSTRAINT FK_SCORES_INFOS_STUID FOREIGN KEY(STUID) REFERENCES INFOS(STUID) 

/

代碼解析:

① SQL Server中可以使用identify創建自動增長列,但是Oracle中的自動增長需要借助序列(Sequence)完成,在后面章節中講解。

② Oracle中的外鍵約束定義。

本文地址:http://www.mudan321.com/dba/kecheng/12523583060.html 轉載請注明!


PostgreSQL入門到精通 100+ 個學習資料

Oracle培訓機構

金牌講師<>

冉乃綱-老師CUUG金牌講師
冉老師 CUUG金牌講師 Oracle及RedHat高級講師、Unix/Linux 資深專家...[詳細了解老師]

免費咨詢上課流程 客服在線中

陳衛星-老師CUUG金牌講師
陳老師 CUUG金牌講師 精通Oracle管理、備份恢復、性能優化 11年Ora...[詳細了解老師]

免費咨詢上課流程 客服在線中

選學校如何選擇適合自己的學校

CUUG -CHINA UNIX USER GROUP,是國際UNIX組織UNIFORUM的中國代表,是國內悠久的專業UNIX培訓機構,被譽為中國UNIX 的搖籃。多年來,以提高教學質量為本,強調素質教育,積極引進、消化國外的新技術,有效的結合中國....[詳情]

一站式服務(從入學到就業一幫到底)

入學

學習

就業

實操

食宿
地址:北京市海淀區田村山南路35號院17號樓
課程咨詢: 400-0909-964
企業服務:137 1818 8639(陳經理)
部分信息來源于網絡,如有錯誤請聯系指正!
版權所有@北京神腦資訊技術有限公司 (CUUG,中國UNIX用戶協會) Copyright 2016 ALL Rights Reserved 京ICP備11008061號-1