oracle数据库对象

目录

??同义词??

? ? ? ?赋予权限?

???创建同义词?

?? ???查询当前用户当前所有的同义词?

? ? ? ?删除同义词?

??序列??

???创建序列语法?

? ? ? ??删除序列?

???查询序列?

? ? ? ?更改序列?

???将序列的值插入到表中??? ???

??视图??

? ? ? ?创建视图的语法?

? ? ? ?联接视图语法?

?? ???删除视图?

?? ???修改视图?

?? ???查询视图信息?

??索引??

???唯一索引?

?? ???组合索引?


Oracle 数据库对象又称模式对象
数据库对象是逻辑结构的集合,最基本的数据库对象是表

数据库对象包括:同义词,序列,视图,索引

??同义词??

同义词有两种类型:私有同义词,公有同义词
1.公有同义词可被所有的数据库用户访问。
2.私有同义词只能在其模式内访问,且不能与当前模式的对象同名。

赋予权限

用户在创建或删除公有同义词前需要赋予用户权限
connect system/123
将权限给到用户:grant create public synonym to 用户名;
将用户权限移除:grant drop public synonym to 用户名;

创建同义词

create public synonym 别名 for scott.emp;

查询当前用户当前所有的同义词

select * from user_synonyms;

删除同义词

drop synonym 同义词名称;
drop public synonym 同义词名称;

??序列??

序列是按照一定规则提供连续数字的对象
序列可以是升序的,也可以是降序的
使用create sequence语句创建序列

创建序列语法

create sequence 序列名称
start with n //开始的值,递增默认是minvalue 递减是maxvalue
increment by n //递增的序列值是n n>0递增 n<0 递减 默认是1
maxvalue n //最大值
minvalue n //最小值
cycle/nocycle //循环/不循环
cache n; //分配并存到内存中

删除序列

drop sequence 序列名;

查询序列

select 序列名称.nextval from dual; 返回序列的下一个值

select 序列名称.currval from dual; 返回序列的当前值

更改序列

alter sequence 序列名 increment by 3; --使用alter sequence语句修改序列的步长 为3

**将序列的值插入到表中

**

SQL> create table toys(
  		2  toyid number(3),
 		 3  toyname varchar(20),
  		4  toyprice number(3)
	 	 5  );
	Table created

	SQL> insert into toys values(stu_id.nextval,'奥特曼',12);
	1 row inserted

	SQL> insert into toys values(stu_id.currval,'小猪佩奇',23);
	1 row inserted

	SQL> select * from toys;
     	TOYID TOYNAME              TOYPRICE
	---------- -------------------- --------
        	20 奥特曼                     12
       	 20 小猪佩奇                    23

	SQL> 

??视图??

视图的优点有:
提供了另外一种级别的表安全性
隐藏的数据的复杂性
简化的用户的SQL命令
隔离基表结构的改变
通过重命名列,从另一个角度提供数据
视图以经过定制的方式显示来自一个或者多个表的数据
视图可以视为“虚拟表”或“存储的查询”
创建视图所依据的表称为“基表”

创建视图的语法

create view 视图名称
as 表中的列,表中的列
from 表名;

联接视图语法

create view 视图名1
as select 视图的列名,视图的列名,视图的列名,视图的列名
from 视图1,视图2
where 两个视图连接的条件;

视图中也可以使用单行函数,分组函数和表达式

删除视图

drop view 视图名称;

修改视图

alter view 视图名称 compile;

查询视图信息

select * from 视图名称;

??索引??

唯一索引

确保在定义索引的列中没有重复值,主键自带唯一索引

语法:create unique index item_index on 表名(表中的列);

组合索引

在表的多个列上创建的索引
语法:create index comp_index on 表名(表中的列,表中的列);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值