/*
注意:
1.如果某个约束只作用于单独的字段,即可以在字段级定义约束,也可以在表级定义约束,
但如果某个约束作用于多个字段,必须在表级定义约束
2.在定义约束时可以通过CONSTRAINT关键字为约束命名,
如果没有指定,ORACLE将自动为约束建立默认的名称
3.非空约束只能定义在字段级别
*/
-- 创建教师表
-- drop table teacher cascade constraint;
create table teacher(
id number(6),
name varchar2(20),
phone varchar2(20),
constraint pk_tea_id primary key (id)
);
-- 创建学生表
-- drop table student;
create table student(
id number(6) /*primary key */ ,
name varchar2(20) /*not null */ ,
cardno varchar2(20) /*unique check(length(cardno)>18) */ ,
tid number(6) /*references teacher(id) */
/*也可如下这样做,可以自定义约束名称
constraint pk_stu_id primary key (id),
constraint uk_stu_cardno unique (cardno),
constraint fk_tea_id foreign key (tid) references teacher (id),
constraint ck_stu_cardno check(length(cardno)>18)*/
/*还可如下这样做,但是约束名称是系统给的
primary key (id),
unique (cardno),
foreign key (tid) references teacher (id),
check (length(cardno)>18)*/
);
-- 如果建表的时候没有加上约束,也可以如下方式新添约束
-- 主键约束
alter table student add constraint pk_stu_id primary key(id);
-- 唯一约束
alter table student add constraint uk_stu_cardno unique(cardno);
-- 外键约束
alter table student add constraint fk_tea_id foreign key (tid) references teacher (id);
-- 检查约束
alter table student add constraint ck_stu_cardno check(length(cardno)>18);
-- 非空约束
alter table student modify(name not null);
-- 删除约束
-- 主键\唯一\检查\非空
alter table student drop primary key;
alter table student drop constraint pk_stu_id;
-- 外键
-- 方式一:先删除子表或者只删除子表的外键约束 然后使用drop table 表名删父表
-- 方式二:drop table 父表名 cascade constraints;
-- 禁用约束:
alter table 表名 disable constraint 约束名;
-- 启用约束
alter table 表名 enable constraint 约束名;
分享到:
相关推荐
非空约束 唯一性约束 主键约束 外键约束 检查约束
1、主键和外键主键:关系...注2:Oracle数据库共有5个约束:主键、外键、非空、唯一、条件非空:这个列的值不能为空(NOT NULL)唯一:这个列的值在表中是唯一存在的,不能重复,但可以为空值(NULL)条件:可以对列的
四、Oracle的表操作–非空约束(not null) 五、oracle的表操作–唯一约束(unique) 六、Oracle的表操作–检查约束 七、Oracle的表操作–外键约束(foreign key) 八、Oracle的表操作–修改和删除表 九、Oracle的...
域完整性,是指取值范围、是否非空、是否唯一等; 参照完整性,是指一个表中的字段的值要参照另一个表中字段的值(主键字段的值),那么在该表中该字段称为外键,即通过外键来实现 参照完整性。主键所在的表...
CLOB, LONG) <2> 运行命令 "desc tablename" 能清楚地显示表的所有列(包括名称、数据类型及长度、默认值、非空)、所有的索引、所有的约束条件(主键、唯一键、检查键、子表、外键、触发器、甚至外键的外键) ...
主键约束相当于唯一约束+非空约束的组合,主键约束列不允许重复,也不允许出现空值;如果的多列组合的主键约束, 那么这些列都不允许为空值,并且组合的值不允许重复。 每个表最多只允许一个主键,建立主键约束可以...
16.3 not null:非空约束 31 16.4 unique key:唯一建约束 31 16.5 references foreign key:外键约束 32 16.6 check:检查约束 34 十七、 事务 35 17.1 transaction 35 17.2定义 35 17.3事务的特性:ACID 35 17.4...
” 或 Ctrl+鼠标点击字串“[user.]objectName[@dbLink]”,如果是一表名,则能清楚地显示表的列信息(包括列名称、数据类型及长度、默认值、非空)、索引、约束条件(主键、唯一键、检查键、子表、触发器、外键、...
支持非空约束,外键约束,检查约束等 数据同步【数据同步需要存在主键或者唯一键】 FULL模式【全量数据导入导入】数据同步转换导入要求表中存在主键或唯一键,否则因异常错误退出或手工中断退出,断点续传【替换为...
” 或 Ctrl+鼠标点击字串“[user.]objectName[@dbLink] ”,如果是一表名,则能清楚地显示表的列信息(包括列名称、数据类型及长度、默认值、非空)、索引、约束 条件(主键、唯一键、检查键、子表、触发器、外键、...
3.1.3 非空约束对数据插入的影响 3.1.4 主键对数据插入的影响 3.1.5 外键对数据插入的影响 3.2 数据的更新 3.2.1 简单的数据更新 3.2.2 带WHERE子句的UPDATE语句 3.2.3 非空约束对数据更新的影响 ...
3.1.3 非空约束对数据插入的影响 3.1.4 主键对数据插入的影响 3.1.5 外键对数据插入的影响 3.2 数据的更新 3.2.1 简单的数据更新 3.2.2 带WHERE子句的UPDATE语句 3.2.3 非空约束对数据更新的影响 ...
3.1.3 非空约束对数据插入的影响 3.1.4 主键对数据插入的影响 3.1.5 外键对数据插入的影响 3.2 数据的更新 3.2.1 简单的数据更新 3.2.2 带WHERE子句的UPDATE语句 3.2.3 非空约束对数据更新的影响 ...
3.1.3 非空约束对数据插入的影响 3.1.4 主键对数据插入的影响 3.1.5 外键对数据插入的影响 3.2 数据的更新 3.2.1 简单的数据更新 3.2.2 带WHERE子句的UPDATE语句 3.2.3 非空约束对数据更新的影响 ...
在创建表时,经常会创建该表的主键、外键、唯一约束、Check约束等 语法结构 create table 表名( [字段名] [类型] [约束] ……….. CONSTRAINT fk_column FOREIGN KEY(column1,column2,…..column_n) ...
objectName[@dbLink]” 或 Ctrl+鼠标点击字串“[user.] objectName[@dbLink]”,如果是一表名,则能清楚地显示表的列信息(包括列名称、数据类 型及长度、默认值、非空)、索引、约束条件(主键、唯一键、检查键、子...
3.1.3 非空约束对数据插入的影响 3.1.4 主键对数据插入的影响 3.1.5 外键对数据插入的影响 3.2 数据的更新 3.2.1 简单的数据更新 3.2.2 带WHERE子句的UPDATE语句 3.2.3 非空约束对数据更新的影响 ...
export ORACLE_HOME=/oracledata/.../bin: 一、注意事项: 大小写不敏感,即不区分大小写。提倡关键字大写,便于阅读和调式。 “!”在SQL环境下执行Unix命令。 SQL语句是由简单的英语单词构成;这些英语单词...
达梦支持哪些类型的表? 和oracle和相似,在oracle中支持的表类型几乎在dm中都...非空,唯一,主键,检查,外键 注释:comment 遵循3范式 案例1:规划一张学员信息表 表名:STU 列:学号(id char(10)),姓名(sname va