oracle数据库对象管理——表、视图

定义:oracle数据库的表(Table)是最基本的数据对象。
形式:表具有简单的二维表结构,由(Row)和(Column)组成,每一列又被称为一个字段

用户表类型

  • 普通表:最为常用的表类型
  • 分区表:可以对大表中的数据在物理上进行分区存储
  • 临时表:专门用于保存临时数据

表的使用

创建表

需要做的事前准备
设计表的名称、字段名称、数据类型以及各类约束(主键、外键、非空、唯一性约束)等
然后使用create table 语句

create table [schma.]table_name(
	column_name datatype [colun_level_constraint]
		[,column_name datatype column_leavel_constraint]
		[,table_level_constraint]
		)
		[parameter_list]
table_name:表名,最长可以达到30个字符。可以使用大小写字母、数字、下划线、$、#等符号。
column_name:字段名,命名规则和表名相同。
datatype:数据类型,可以设置字符、数值、日期等类型。
column_level_constraint:用于设置列级约束,包括主键、外键、非空、唯一性以及用户检查约束等。
table_level_constraint:表级约束,包括主键、外键以及用户检查约束等;当一个约束中必须包含一个以上的列时,必须使用表级约束。(暂时没用到)
parameter_list:(暂时没用到)
例:
create table tb_s(
	sno char(6) primary key,
	sname char(10),
	sex char(1) check(sex in ('M','F')),
	birthday date
)

修改表

列的增删改

增加字段:alter table_name add(column_name datatype [default value][null|not null]) 
修改字段:alter table_name modify(column_name datatype [default value][null|not null])
删除字段:alter table_name drop(column_name,...)

视图

定义:试图(View)的本质是一张虚拟表,其本身不存储实际的业务数据。
试图可以基于一个表或多个表进行创建,其本质是对这些表的预定义查询,这些表被称为基表。

创建视图

语句

create[or replace] [force|noforce] view [schema.]view_name
[(column_name_list)]
as
select ... from...
[with check option][constraint constraint_name]
[with read only];
//说明
or replace:如果存在同名视图,新视图会覆盖旧视图
force|noforce:是否在基表不存在或不具有使用基表权限的情况下创建视图,force为强制创建,noforce为不强制创建,且为默认选项。
column_name_list:视图的列名列表,列名个数必须与select查询中的列的个数相同。
select:查询语句
with check option:基于视图进行的数据增删查改的操作,必须是select查询所能查询到的数据。默认不开启。
constraint:为使用with check option选项时设置约束的名称
with read only :只读。

修改视图

语句

create replace view view_name
as
select... from ...

删除视图

drop view view_name;

序列

序列(Sequence)用于产生一系列唯一数值的数据库对象,其产生数值具有按步长连续递增的特点。常用于表的主键值递增以及记录计数。

创建序列

语句

create sequence sequence_name
[increment by n]
[start with n]
[maxvalue n|nomaxvalue]
[minvalue n|nominvalue]
[{cycle|nocycle}]
[{cache n|nocache}]
//说明
increment by;指定序列的步长(增长多少),可以是正数或者负数,默认为1start with:指定初始值,默认为1。
maxvalue n|nomaxvalue、minvalue n|nominvalue:最大/最小值为n,或有无最大最小值。
cycle|nocycle:当序列达到最大值是是否循环,cycle表示循环,nocycle表示不循环。
cache|nocache:用于是否在徐通缓存预先分配一组序列值,cache n表示换成n个序列值,默认为20个,nocache表示不缓存。

修改序列

语句

alter sequence sequence_name 参数 参数值

删除序列

drop sequence sequence_name;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值