Oracle——约束,创建用户,授权

对象

表 视图 序列 索引 同义词 存储过程 存储函数 触发器 包 包体

创建表空间:create tablespace test010001
datafile ‘d:\test010001.dbf’
size 100m
autoextend on
next 10m
test010001为表空间名称
datafile 指定表空间对应的数据文件
size 表空间初始大小
Autoextend on 自动增减 当表空间沾满时候
Next 指定的是异常自动增长的大小

创建用户:
create user zlh
identified by 19961223
给用户授权登录某个表空间:
grant creat session to zlh
给用户创建表的权限:
grant creat table to zlh

Oracle中三个重要的角色

connect 基本角色 resource 开发人员角色 dba 全部特权角色
所以在授权中科院这么写: grant resource to zlh

创建表

在这里插入图片描述
eg: create table student
(sid number(5),
sname varchar2(10));

约束

作用:更好的保证了数据的完整性
主键约束: primary key
非空约束:not null
唯一约束:unique
外键约束:foregin key
检查性约束:check

1. 主键:主键(primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录

主键的注意点:

  1. 键列必须具有唯一性,且不能为空相当于 unique+not null
  2. 一个表只允许有一个主键
  3. 主键所在列必须具有索引,如果不存在将在索引添加的时候自动创建

添加主键
代码中:alter table 表名 add constraint 约束名 primary key(列名)
创建表中:create table person(
pid number(10) primary key);
查询表中的数据通过什么查询最快?主键查询最快?主键是唯一约束,本身就是个索引

2. 唯一约束
可作用在单列或多列上,对于这些列或列组合,唯一性约束保证每一行的唯一性
特点:

  1. 对于unique约束来讲,索引是必须的,如果没有就自动创建一个
  2. 允许Null,unique约束的列可以存在多个Null

添加方式和上面一样:alter table 表名 add constraint 约束名 unique(列名);
还有就是创建表

3. not null
非空约束也叫强制列
代码约束和上面的不一样:alter table 表名 modify 列名 not null;

4.外键
子表的外键它必须是父表的主键.
外键约束要注意以下几点:
1.外键约束的子表的列和对应父表中的列数据类型必须相同,列名可以不同
2.对应 的父表必须存在主键约束 或唯一约束
3.外键约束列允许null值,对应的行就成了孤行
在删除时如果删除子表有数据,删除父表不成功
代码:alter table 表名 add constraint 约束名 foreign key(列名)references 表名2(列名);
如果想不删除子表直接完成父表删除,就需要级联删除
alter table 表名 add constraint 约束名 foreign key(列名)references 表名2(列名) on delete cascade;
如果想删除时不把子表的数据删除完
alter table 表名 add constraint 约束名 foreign key(列名)references 表名2(列名) on delete set null;

5检查约束(Check)
检查约束可以用来实施一些简单规则,比如列值必须在某个范围没.检查的规则必须是一个结果为true或false的表达式:
create table student
(gender varchar2(5) default ‘男’ check(gender in (‘男’,‘女’));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值