首页
关于
友链
Search
1
wlop 4K 壁纸 4k8k 动态 壁纸
1,472 阅读
2
Nacos持久化MySQL问题-解决方案
933 阅读
3
Docker搭建Typecho博客
753 阅读
4
滑动时间窗口算法
730 阅读
5
Nginx反向代理微服务配置
701 阅读
生活
解决方案
JAVA基础
JVM
多线程
开源框架
数据库
前端
分布式
框架整合
中间件
容器部署
设计模式
数据结构与算法
安全
开发工具
百度网盘
天翼网盘
阿里网盘
登录
Search
标签搜索
java
javase
docker
java8
springboot
thread
spring
分布式
mysql
锁
linux
redis
源码
typecho
centos
git
map
RabbitMQ
lambda
stream
少年
累计撰写
189
篇文章
累计收到
24
条评论
首页
栏目
生活
解决方案
JAVA基础
JVM
多线程
开源框架
数据库
前端
分布式
框架整合
中间件
容器部署
设计模式
数据结构与算法
安全
开发工具
百度网盘
天翼网盘
阿里网盘
页面
关于
友链
搜索到
1
篇与
的结果
2022-12-02
Oracle 权限、视图、约束
Oracle 权限、视图、约束一、数据库权限1、查看用户所属角色select * from user_role_privs;2、查询角色权限CONNECT:仅连接权限select * from dba_sys_privs where grantee='CONNECT'查看RESOURCE权限:select * from dba_sys_privs where grantee='RESOURCE'DBA角色权限查看select * from dba_sys_privs where grantee='DBA'3、用户授权例如:授予scoot拥有dba的权限grant dba to scott;二、视图1、创建视图Create view 视图名称as 查询语句 create view v_emp1 as select ename,job from emp;2、修改视图create or replace view 始图名称 as 新的查询数据; create or replace view vemp as select empno,ename,job from EMP t;注意与创建视图的不同:多了一个or replace3、删除视图drop view 视图名称; drop view vemp2;4、使用视图select * from 视图; select * from vemp;就当作是一张虚拟的表使用。5、修改视图数据注意:修改视图数据,实际是修改实际表的数据,不是视图的数据。例如修改上面视图数据:update vemp set ename='xxxx' where job='CLERK' and empno='7369'修改后:最后实际修改的是,视图中查询数据表的实际数据。上面视图实际修改的是EMP表的数据:select * from EMP;注意:修改视图数据时,实际是修改实际表的数据,不是视图的数据。6、视图添加数据注意:向视图数据添加数据,实际是向实际表中添加数据和普通表添加数据一样,视图只是在向实际的表添加数据 insert into vemp values('1111','bbbbb','teacher');查看添加视图数据,实际是向实际表中添加了数据。select * from vemp;查看实际表中数据:select * from EMP;7、删除视图中数据和普通删除表数据一样,实际是删除的实际表中数据。delete from vemp where empno=1111总结:对视图中数据的CRUD实际是对真实表的数据操作,实际开发中一般都会将视图设置为只读,防止误操作。8、只读视图Create view 视图名称as 查询语句 with read only;当向视图添加、删除、修改数据时,都会提示“无法对只读视图执行dml操作”。三、约束1、主键约束(Primary)用来标识唯一一条记录的。非空,和其它表的外键有关系,其它表的外键关联该表的主键,起到约束作用。一般用作条件查询、条件修改、条件删除等操作。id设置为主键。查询一条数据:insert into t_bookType values(1,'java history');查看数据:select * from t_bookType;查看建外键sql语句:查看sql:这里就能看到建表、建主键的sql语句了:2、外键约束(Foreign)起到约束作用。新建表:创建外键:注意:另一张表t_bookType的主键id不能为空,否则建外键时会报错id不能为空。查看建外键sql语句和上面一样:约束作用:查看t_bookType数据:向t_book添加数据时:添加一条不存在的主键数据时,就会提示“违反完整约束条件”因此起到了,约束添加的外键只能是另一张表里面存在的主键。3、唯一性约束(Unique)约束某些字段值作为唯一标识,不能重复添加相同数据。添加方式查看sql脚本同上:没加约束前,可以添加相同bookTypeName的记录,加了约束后会提示报错"违反唯一约束条件"4、检查约束(针对所有记录,上面1、2、3都是正对一条记录)给某个字段添加,写入值的条件。t_book增加价格price字段:查询t_book:如果以后向每次添加数据时,检查price价格返回是否在50-100之间,就可以使用检查约束。添加检查约束sql:添加数据价格在范围内不报错,超出范围会提示报错“范围检查约束条件”5、默认值约束其实就是添加数据时,某些字段没有设置时,给字段设置默认值。t_book增加作者性别字段:添加一条数据:insert into T_BOOK(id,BOOKNAME,TYPE_ID,price) values(3,'jvm并发',1,66);新加数据sex性别为空,不符合实际逻辑,怎么会没有性别,因此想设置默认值。添加默认值约束:重新添加一条数据:此时就有默认值了。删除上面添加没有sex性别的记录,重新加添;insert into T_BOOK(id,BOOKNAME,TYPE_ID,price) values(3,'jvm并发',1,66);现在就有值了。添加默认值约束SQL:6、非空约束设置字段值不能为空勾选:允许为空,不勾选:不允许为空。查询一条件数据,价格不添加:添加数据值,为添加price的值,由于设置了非空约束,不能为空,所以报错“无法将null插入”
2022年12月02日
165 阅读
0 评论
2 点赞