orace学习操作(2)

一、Oracle视图                                            

视图是虚表,没有具体物理数据,是通过实体表的一种计算映射逻辑。主要就是为了方便和数据安全;

实际当中的数据依然存在我们的实际表里面,只不过取数据的时候根据这个视图(子查询)从实际当中的表来查,把它当成一个表来用;

1.创建视图:

给用户授予创建视图的权限:grant create table,create view to scott;

查看当前用户下有哪些视图:select view_name from user_views;

查看用户的角色; select * from user_role_privs;

查看角色对应的权限;SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE=‘DBA‘;

授予用户dba权限    grant dba to scott;

3.使用视图:

4.只读视图:

Create view 视图名称as 查询语句with read only ;

5.删除视图  drop view v_emp

二、oracle约束条件:                                      

1.非空约束、默认值约束:

给约束起名字:stu_name_nn:

2.唯一约束,unique:

加了唯一约束后,就不能再email这个字段加重复的值了。

unique约束可以加null值,两个null值之间不认为是重复的;

//上面的都是字段级的约束,但是如果说要让名字和eamil的组合不能重复,怎么做?

---表级的约束:

3.主键约束:

主键逻辑意义上唯一标识整条记录。

主键的这个字段:不能为空、必须唯一;

或者:

4.外键约束:

班级表:

stu表的class列,参考class表的ID字段:

注意:

stu表的class这个字段存在外键约束class 的id

被参考字段必须是主键----class 的id必须为主键;主键非空、唯一

另外的写法:

5.check 检查约束

下面这个check约束是name必须为大写:

相当于这样的写法:

create table t_stu(
id number primary key,
name varchar2(20) check (name=upper(name))
)

check用的很少,一般在程序中已经进行验证了。。

三、                                            

时间: 2024-10-19 22:59:45

orace学习操作(2)的相关文章

MySQL学习——操作表里的数据

MySQL学习——操作表里的数据 摘要:本文主要学习了使用DML语句操作表里数据的方法. 插入数据 语法 通过传入数据插入: 1 insert into 表名 [(列名1, …, 列名n)] values (值1, …, 值n); 通过查询数据插入: 1 insert into 表名 [(列1, ..., 列n)] 2 select 列1, ..., 列n from 查询的表; 实例 1 mysql> insert into score values (null, '张三', '计算机', 98

Oracle学习操作(7)用户、权限、角色

一.oracle用户: 二.权限 1.系统权限: sys登陆创建c##test用户后,给用户c##test授权,并且带有传播性: SQL> create user c##test identified by 123456 default tablespace users; SQL> create user c##test2 identified by 123456 default tablespace users; SQL> grant create session, create ta

node基础学习——操作文件系统fs

p.p1 { margin: 0.0px 0.0px 10.0px 0.0px; text-align: center; line-height: 11.0px; font: 14.0px "PingFang SC Semibold"; color: #000000 } p.p2 { margin: 0.0px 0.0px 10.0px 0.0px; text-indent: 36.0px; line-height: 11.0px; font: 9.0px "PingFang

MySQL学习——操作数据库(增删改查)(一)

数据库是长期存储在计算机内,有组织的和可共享的数据集合,简而言之,数据库就是一个存储数据的地方,只是在其存储方式有特定的规律,这样做可以方便处理数据,数据库的操作包括创建数据库和删除数据库,还有数据库中的查询与修改,这些操作都是数据库管理的基础. 一,创建数据库 创建数据库是指在数据库系统中划分一块空间,用来存储相应的数据,这是进行表操作的基础,也是进行数据库管理的基础,在mysql中创建数据库需要通过SQL语句CREATE DATABASES实现,语法形式如下: CREATE DATABASE

Scala学习——操作外部数据

scala操作外部数据 一.scala读取文件及网络数据 package top.ruandb.scala.Course08 import scala.io.Source object FileApp { def main(args: Array[String]): Unit = { val FILEPATH = "D:\\test\\a.txt" val URL = "https://www.baidu.com" readLine(FILEPATH) readCh

MongoDB Sharding学习操作篇二

接上一篇 14.配置集群中的balancer进程 balancer进程运行在集群中的某一个mongos实例上,确保chunks均匀分布在整个集群上. 更改指定shard的最大存储大小

MongoDB Sharding学习操作篇

本文使用的MongoDB版本是2.4.6,采用如下部署架构用于测试使用,不可用于线上环境.以下测试都是在本机上完成,线上环境需要各个组件分开部署. 1.添加主机列表 vim /etc/hosts 添加如下列表 127.0.0.1  mongo-sharding-router1 127.0.0.1  mongo-sharding-router2 127.0.0.1  mongo-sharding-config1 127.0.0.1  mongo-sharding-config2 127.0.0.1

学习操作Mac OS 之安装工具组件

视频软件: MPlayerX 安装MySQL: 下载MySQL: https://dev.mysql.com/downloads/installer/ 设置环境变量:http://www.cnblogs.com/wangrui-techbolg/archive/2012/12/22/2829614.html 修改初始密码:http://www.jb51.net/article/105668.htm IntelliJ IDEA For Mac快捷键的使用: http://www.cnblogs.c

Linux学习——操作文件与目录

1. ls:列出文件及目录信息. 命令格式:ls [选项] ... 常用选项: -a 显示指定目录下所有子目录与文件,包括隐藏文件. -A 显示指定目录下所有子目录与文件,包括隐藏文件.但不列出“.”和 “..”. -c 按文件的修改时间排序. -l 以长格式来显示文件的详细信息.这个选项最常用,在有些系统下,可以直接输入ll命令,实际就是ls -l的简写. -r 按字母逆序或最早优先的顺序显示输出结果. -t 显示时按修改时间(最近优先)而不是按名字排序.若文件修改时间相同,则按字典顺序. -