专业只做数据库实训和认证的品牌机构

微信公众号新浪微博
免费咨询电话: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.cuug.com.cn/dba/kecheng/12523583060.html 转载请注明!


在线预约 抢先报名 获取课程排期

Oracle培训机构

金牌讲师<>

冉乃纲-老师CUUG金牌讲师
冉老师 CUUG金牌讲师 Oracle及RedHat高级讲师、Unix/Linux 资深专家...[详细了解老师]

免费咨询上课流程 客服在线中

陈卫星-老师CUUG金牌讲师
陈老师 CUUG金牌讲师 精通Oracle管理、备份恢复、性能优化 11年Ora...[详细了解老师]

免费咨询上课流程 客服在线中

选学校如何选择适合自己的学校

CUUG -CHINA UNIX USER GROUP,是国际UNIX组织UNIFORUM的中国代表,是国内悠久的专业UNIX培训机构,被誉为中国UNIX 的摇篮。多年来,以提高教学质量为本,强调素质教育,积极引进、消化国外的新技术,有效的结合中国....[详情]

一站式服务(从入学到就业一帮到底)

入学

学习

就业

实操

食宿
地址:北京市海淀区田村山南路35号院17号楼
课程咨询:010-59426307 010-59426319 400-0909-964
企业服务:137 1818 8639(陈经理)
部分信息来源于网络,如有错误请联系指正!
版权所有@北京神脑资讯技术有限公司 (CUUG,中国UNIX用户协会) Copyright 2016 ALL Rights Reserved 京ICP备11008061号-1