Oracle创建表和约束
来源:互联网 发布:2017淘宝双11红包 编辑:程序博客网 时间:2024/06/05 11:54
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), --学期 S1或S2
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中的外键约束定义。
来源:CUUG官网
- oracle 创建表和约束
- Oracle创建表和约束
- oracle分页和创建表和约束
- Oracle-创建表和表的约束
- oracle创建表(约束)
- oracle创建表(约束)
- 创建表和约束
- oracle表约束关系创建
- Oracle 创建用户名,表,约束
- oracle表的创建、类型、结构和约束
- oracle创建和管理表_数据处理_约束
- oracle创建和管理表_数据处理_约束
- Oracle中如何创建约束,查询约束和删除约束(check约束,外键和主键约束)
- oracle创建和管理表、完整性约束、创建视图、序列、索引、同义词
- Oracle PL/SQL开发基础(第一弹:创建表和创建约束)
- oracle 创建表、修改表、添加约束
- oracle创建表时的约束
- oracle 创建表约束,修改,删除
- 自启动文件
- 实现Recovery模式本地化显示文本定制(recovery_l10n工具的使用)
- Linux之简单进程管理
- 传送门:LoadManager一个特别容易被我们忽视的异步任务类
- 迭代数据流分析中的逆后序(Reverse Postorder)
- Oracle创建表和约束
- Python 3.x爬虫技巧总结
- Qt学习 之 QWebView
- C语言之 递归函数 输出f(4)结果
- idea注册码
- 那么问题来了,前端大神也来吧
- HDOJ 1559 最大子矩阵
- Linux虚拟机CentOS6.5: NAT方式下无法上网
- 全栈工程师笔记3(liunx和vim)