约束类型

1、主键primary key(一般是一个表的标志,所以一个表只能有一个主键;主键不能为空,不能重复)

2、唯一键unique(不能重复)

3、外键foreign key

4、检查约束check(not null不能为空;default默认值)

建表的同时添加约束

create table person(

  pid number(18) primary key,              --primary key主键,不能为空,不能重复

  name varchar2(50) unique not null,           --unique唯一约束,不能重复,可以为空;not null不能为空

  sex varchar2(4) default '男' check(sex in('男','女')),    --性别必须是男或女,default默认为男

  age number(3) check(age>0 and age<=120)       --年龄数据类型为3位,check里条件规定了范围

)

后期添加(约束表已经建立好不能删除)

添加约束

  修改表  表名  添加  约束  起名字  约束类型  列名

  alter table 表名 add constraint 起名字 约束类型  (列名);

添加主键

alter table 表名 add constraint 起名字 primary key (列名);

如:alter table student add constraint pk_sid primary key (sid);

添加唯一约束

alter table 表名 add constraint 起名字 unique (列名);

如:alter table student add constraint uq_name unique (name);

添加检查约束

alter table 表名 add constraint 起名字 check(条件);

如:alter table student add constraint ck_sex check(sex in('男','女'));

添加默认值(modify修改)

alter table 表名 modify 列名 default '女';

如:alter table student modify sex default '女';

修改表的字段类型(modify修改)

alter  table 表名 modify 列名 数据类型;

如:alter  table student modify sex varchar2(5);

如:alter table student modify name not null;

修改表结构

alter table 表名

modify 列名 数据类型

modify 列名 default 'something'

如:alter table studentinfo

  modify stuname varchar(20)

  modify stusex default '男'

建表时添加外键

如:create table student(

    cid number(12) references myclass  --myclass是另一个表名

  )

后期添加外键约束

alter table 表名 add constraint 起名字 foreign key (列名) references 表名;

如:alter table student add constraint fk_cid foreign key (cid) references myclass

删除约束

alter table 表名 drop constraint 约束名称

找约束名称

select * from user_constraints where table_name='表名'

如:select * from user_constraints where table_name='student'

回滚(oracle数据库 默认添加的数据是需要提交的 ,不提交其它的人看不到)

(刚添加修改删除的数据没有保存到数据库,只是临时的)

commit;         --提交 永久的的保存到数据库了

rollback table 表名 ;  --回退没提交之前的数据

truncate table  表名;  --表截断,立刻清除表里面的所有数据并且不能回滚

SQL结构化查询语言

1、DDL数据定义语言  不能回滚

  create,alter,drop

2、DML数据操作语言  可以回滚

  insert,delete,update,select

3、DCL数据控制语言  权限

  grant,revoke

4、TCL事务控制语言

  commit,rollback

数据移植:导入导出.dmp,在cmd中执行命令

关于oracle数据库(6)约束的更多相关文章

  1. 改写了禁用或启用oracle数据库的约束的存储过程

    改写了网上某位大侠(最开始的源头是哪位没记住)写的禁用或启用oracle数据库所有约束的存储过程,增加了异常控制,以使发生异常时也可以执行下去. –调用过程: 执行前先 set serveroutpu ...

  2. Oracle数据库添加约束

    主键约束(两个特性)1:主键必须写2:主键不可重复 create table stu01( sid varchar(100), sname varchar2(100) --constraint PK_ ...

  3. oracle数据库 唯一约束的创建与删除

    1.创建索引: alter table TVEHICLE add constraint CHECK_ONLY unique (CNUMBERPLATE, CVIN, CPLATETYPE, DWQCH ...

  4. oracle数据库中提供的5种约束

    约束作用:用来保持数据的完整性,防止无效数据进入到数据库中.oracle数据库中提供的5种约束,都是限定某个列或者列的组合的.1.主键约束(PRIMARY KEY):在一个表中能唯一的标识一行.主键可 ...

  5. Oracle数据库五种约束

    oracle 数据库 数据表的5个约束类型:1.主键约束2.外键约束3.唯一约束4.检查约束5.非空约束 主键约束:用来唯一标示表中的一个列,一个表中的主键约束只能有一个,但是可以在一个主键约束中包含 ...

  6. Oracle数据库创建表是有两个约束带有默认索引

    Oracle数据库创建表是有两个约束带有默认索引.1.主键primary Key:唯一索引.非空2.唯一Unique:唯一索引,可以是空值如果没有设定主键和唯一约束,表中不会有默认索引的. 建立主键/ ...

  7. Oracle 数据库表中已有重复数据添加唯一键(唯一约束)

    Oracle 数据库表中已有重复数据添加唯一键(唯一约束) 问题描述 以 demo 举例,模拟真实场景. 表 TEST_TABLE 有如下字段和数据:id 是主键,code 没有设置键和索引 ID C ...

  8. Oracle数据库中违反唯一约束的处理

    根据NULL的定义,NULL表示的是未知,因此两个NULL比较的结果既不相等,也不不等,结果仍然是未知.根据这个定义,多个NULL值的存在应该不违反唯一约束. 实际上Oracle也是如此实现的: SQ ...

  9. Oracle 数据库语句大全

    Oracle数据库语句大全 ORACLE支持五种类型的完整性约束 NOT NULL (非空)--防止NULL值进入指定的列,在单列基础上定义,默认情况下,ORACLE允许在任何列中有NULL值. CH ...

随机推荐

  1. Openjudge-NOI题库-对齐输出

     题目描述 Description 读入三个整数,按每个整数占8个字符的宽度,右对齐输出它们.  输入输出格式 Input/output 输入格式: 只有一行,包含三个整数,整数之间以一个空格分开. ...

  2. 使用Image.GetThumbnailImage 方法返回缩略图

    如果 Image 包含一个嵌入式缩略图像,则此方法会检索嵌入式缩略图,并将其缩放为所需大小. 如果 Image 不包含嵌入式缩略图像,此方法会通过缩放主图像创建一个缩略图像. 请求的缩略图像大小为 1 ...

  3. Java Day03 面向对象程序设计

    1.面向对象 面向对象是指一种程序设计泛型,同时也是一种程序开发的方法. 2.类 类是一种抽象的概念,类中包含了数据与对数据的操纵. 具有相同特性(数据元素)和行为(功能)的对象的抽象就是类.类是对象 ...

  4. iOS 打包上传AppStore相关(2)-Xcode相应配置

    上一篇描述了如何在AppleDeveloper创建Certificates.App IDs和Provisioning Profiles的过程.本篇将详细描述在Xcode部分我们需要做的配置. 1.配置 ...

  5. win10十周年更新后cent os 虚拟机无法连接到xshell

    1.在vmware中打开编辑-->虚拟网络编辑器-->还原默认设置

  6. mysql B+树 Cardinality MRR

    B+树索引并不能找到一个给定键值的具体行,而是被查找数据行所在的页.然后数据库通过把页读入到内存,再在内存中进行查找,最后得到想要查找的数据. Show index from table. Cardi ...

  7. util:properties与context:property-placeholder

    spring 使用注解装配的Bean如何使用property-placeholder属性配置中的值 这个问题不大不小,以前偷懒凡是碰到需要引用属性文件中的类时就改用xml来配置. 今天看了下sprin ...

  8. win10锁屏壁纸路径

    C:\Users\ShanYu\AppData\Local\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\LocalS ...

  9. 使用MegaCli工具,在线调整raid配置

    公司hadoop平台采购了一批浪潮服务器,2个系统盘,12个数据盘.先想的用直通的raid卡免得再做单盘raid0麻烦,结果这批机器配的卡也不支持裸盘使用,咨询浪潮客服,说可以使用JBOD的模式进行, ...

  10. 10676 涂鸦跳跃(sort)

    10676 涂鸦跳跃 该题有题解 时间限制:1000MS  内存限制:65535K提交次数:240 通过次数:19 题型: 编程题   语言: G++;GCC Description 你玩过曾经风靡一 ...