首页 > 数据库 >Oracle__数据库对象

Oracle__数据库对象

时间:2022-12-20 17:24:10浏览次数:43  
标签:__ -- 数据库 视图 约束 表名 Oracle table 列名

Oracle中的对象包括对象包括了表、用户、视图、索引......等。

使用DDL语句来操作对象。


一、DDL语句

DDL指数据定义语言,用来操作数据库中的对象

DDL属于隐式事务,执行即提交事务,对于数据库的改变是永久的。

创建对象:create  

删除对象:drop

修改对象:alter

重命名对象:rename


二、用户

只要system或者sys账户,或者其它拥有操作账户权限的用户可以进行账户管理。

1、创建:

create user 用户名 identified by 密码

2、维护:

--赋予用户登录的权限
grant connect to 用户名;
--赋予用户操作资源的权限
grant resoure to 用户名;
--赋予角色的权限给用户
grant 角色名 to 用户名;
--撤销用户的权限
revoke 权限名/角色名 from 用户名

3、删除:

drop user 用户名;

4、忘记密码:

1、cmd窗口下输入:sqlplus /nolog
2、输入: conn /as sysdba
3、输入:alter user 用户名 identified by 新密码

三、表

分类:

  用户表:由用户创建和维护的集合,包含用户信息。

  数据字典:由数据库系统创建和维护的集合,包含数据库信息。

Oracle中常用的数据字典:

  user_tables,包含本用户拥有的所有的表的信息。

  user_objects,包含本用户拥有的所有的数据类型的信息。

  user_catalog,包含本用户拥有的表、视图、同义词、序列的信息。

1、创建:

--指定列名列属性创建表
creat table 表名(列名1  数据类型1,列名2  数据类型2.......)
--通过结果集创建表
--可以使用这种方式备份表(tablebak),但是备份表中只存字段名和数据,不会有约束。
creat table 表名  as  查询语句

2、维护:

--增加列
alter table 表名  add(列名  数据类型)
--修改列
alter table 表名  modify(列名  数据类型  default  默认值)
--删除列
alter table 表名  drop column  列名
--改列名
alter table 表名 rename column  原列名  to 新列名
--改表名
rename 原表名 to  新表名
--截断表,把表中所有数据删除。
truncate table 表名

3、删除:

--删除表
drop table 表名

 

四、约束

对于字段储存的数据进行约束。

  主键约束(Primay Key):值唯一,且非空。

  唯一约束(Unique):值唯一,可以有一个空。

  检查约束(Check):自定义约束,对值进行限制。

  非空约束(Not null):值不为空。

  外键约束(Foregin Key):值必须为其它表已经存在的数据。

1、创建:

--创建表的时候创建约束

--除了外键约束,可在列后面直接指定约束
creat table 表名(列名  数据类型  constraint 约束名   约束,....)
--除了非空约束,可以在列定义完后,定义约束
creat table 表名 (列名 数据类型,......,
                  constraint 约束名 约束(列名)) 
--外键约束:必须在列定义完后单独定义外键,注意外键参照的表和列都必须已经存在
create table 表名(列名  数据类型,.....
                  constraint 约束名 foreign key(列名) references 参照表名(参照列名))
--在表创建后,给字段添加约束
alter table 表名 add(列名 constraint  约束名  约束,.....)

2、维护:

--修改字段的约束
alter table 表名 modify (列名 constraint  约束名  约束,.....)

3、查看约束:

--查看约束
--使用数据字典可以查约束。Oracle中查看指定表的所有约束:
select constraint_name,constraint_type,search_condition
from user_constraints
where table_name = 表名

4、启用与禁用:

--禁用约束
--注意:当此字段为另一个表的外键时,需要在结尾加cascade关键字,它声明与此列相关的约束全部禁用。
alter table 表名 disable constraint 约束名 cascade
--启用约束
alter table 表名 enable constraint 约束名

五、视图

视图是根据需求保存的一个结果集。

它能够作为一个表来被查询,也可通过它进行数据修改(不建议)。

对视图DML操作,实际上是操作数据源的表。

分类:

  简单视图:数据来源一个表,列为单独列,无分组,可以进行DML操作。

  复杂视图:数据来源多个表,列中可以有函数值、表达式,可以是分组结果,不能进行DML操作。

  内建视图:每一个子查询获得的结果集都是一个内建视图,可以通过取别名来引用它的列。(在from子句中使用的子查询)

不能DML操作的列:

  函数列,表达式列,通过distinct获得的列。

1、创建:

--视图的列名省略时,默认使用查询语句中的列名
--在结尾加上 with read only ,声明视图为只读视图
creat view 视图名(列名1,列名2,...) as 查询语句 

2、删除:

drop view 视图名

 

标签:__,--,数据库,视图,约束,表名,Oracle,table,列名
From: https://www.cnblogs.com/lurenjia-bky/p/16994692.html

相关文章

  • Zookeeper学习笔记
    1.简介1)简介Zookeeper,为分布式框架提供协调服务,基于观察者模式。负责存储管理大家关心的数据,接受观察者的注册,当数据状态发生变化,Zookeeper负责同志在Zookeeper上注册的......
  • 一种安全加密文件的方式,文件可以实现自校验,防止文件损坏和篡改
    项目地址这个项目是很久以前的,当时go能力有限,写的不尽人意。刚好最近有加密文件的需求,所以就完善了相关逻辑。之前的方案还依赖Seek(offsetint64,whenceint)(int64,......
  • WirePlumber更新到0.4.13版本,增加了新的功能、改进和错误修复
    WirePlumber是PipeWire多媒体服务器的模块化会话和策略管理器实现,用于处理Linux系统上的音频、视频流和硬件,今天已经更新到0.4.13版本,这个版本增加了新的功能、改进和错......
  • 微服务系列之服务监控 Prometheus与Grafana
    1.为什么需要监控服务  监控服务的所属服务器硬件(如cpu,内存,磁盘I/O等)指标、服务本身的(如gc频率、线程池大小、锁争用情况、请求、响应、自定义业务指标),对于以前的......
  • 工程项目中的“POC”是什么意思?
    Poc意思是为观点提供证据,为ProofOfConcept的缩写,它是一套建议的电子模型,它可用于论证团队和客户的设计,允许评估和确认概念设计方案,POC的评价可能引起规格和设计的调整。......
  • git相关问题解析,你想要的都有
    官网文档:https://git-scm.com/doc本地克隆远程代码仓库gitclone地址本地同步全量历史数据,克隆所有文件的历史记录gitclone地址—depth1本地同步默认分支......
  • 力扣-406-根据身高重建队列
    第一眼觉得有一种逆向单调栈的既视感看评论区举了一个很生动形象的例子,自己还是写不出来vector<vector<int>>reconstructQueue(vector<vector<int>>&people){ vector......
  • .Net7 自动拷贝appsettings.json到debug文件下
    IDERider在配置json时遇到路径的问题Theconfigurationfile'appsettings.json'wasnotfoundandisnotoptional.TheexpectedphysicalpathwasIConfiguration......
  • 经纬恒润以太网开发及测试方案,助力智能汽车落地
        近年来,为了满足智能网联汽车的开发要求,车载以太网技术开始逐渐进入人们的视野。车载以太网可以满足带宽密集型应用如高级驾驶辅助系统(ADAS)、车载诊断系统(OBD)以......
  • 语音合成神器丨民间大佬开发的小工具,使用无任何限制!
    语音合成小工具软件介绍这一款软件界面还挺高大上的,主页是一只行走中的斑马。锲而不舍,金石可镂,看样子作者也是花了时间和精力的。如图所示,这是一款语音合成软件,它除了......