ORACLE STUDY NOTES 02
【JSU】LJDragon's Oracle course notes In the first semester, junior year
I.用户和权限
1.用户操作
--创建新用户
--解锁用户
--修改密码
2.DCL授权语句
--GRANT 权限1,权限2,…… TO 用户; --授予开发人员权限
--授予对象访问权限
--授予创建会话的权限给LJL
3.DCL收权语句
--REVOKE 权限1,权限2,……FROM 用户;
--回收创建会话权限
--回收对象访问权限
--查询用户拥有哪些权限(SQLPlus)
--查自己拥有哪些系统权限
--删除用户
II.表管理
--创建学生表
--创建学生表(带列默认值)
- (
- stu_id NUMBER(6),
- stu_name VARCHAR2(50),
- );
--删除学生表
--删除表(直接删除)
--还原表
--利用子查询创建表
--常用数据字典
- --回收站的数据字典
修改表
--追加列
--修改列
- MODIFY (address VARCHAR2(200));
--删除列
- DROP (phone);
--重命名对象
- RENAME student TO stu;
--清空表
truncate与delete的区别:
delete truncate
事务 可回退 自动提交,不可回退
记录日志 记录 不记录
释放空间 不释放空间 释放空间
--表注释
--列注释
--清空回收站
- PURGE RECYCLEBIN;
III.五种约束
not null 非空约束 primary key 主键约束
unique 唯一值约束 check 检查约束 foreign key 外键约束
约束可以建表的同时创建,也可以在建表之后追加创建
--创建约束表
--创建表的同时增加约束_1
- (
- emp_sal NUMBER(8,2) CHECK (emp_sal>=400),
- emp_deptid NUMBER(6) REFERENCES newdept (department_id)
- );
--创建表的同时增加约束_2
- (
- emp_id NUMBER(6),
- emp_email VARCHAR2(50),
- emp_sal NUMBER(8,2),
- emp_deptid NUMBER(6),
- CONSTRAINTS emp2_email_uk UNIQUE (emp_email),
- CONSTRAINTS emp2_sal_chk CHECK (emp_sal>=400),
- REFERENCES newdept (department_id)
- );
--非空约束:限制列值不允许为空
--修改first_name列为非空(需先创建表)
--取消非空约束
- MODIFY (first_name NULL);
--增加约束
ALTER TABLE 表名 ADD CONSTRAINT 自定义约束名称 约束设置;
--主键约束:限制列值不允许重复,且不能为空,一个表只能由一个主键
--设置主键约束
--删除约束
--复合主键(多列组成一个主键)
--唯一值约束:限制列值不允许重复,不限制空值,一个表中可以有多个唯一值约束
--设置唯一值约束
--检查约束:限制自定义条件,忽略空值
--限制工资不能少于400
--外键约束:限制外键列值必须是引用的主表中的主键列存在的列值,不限制空值
--前置条件:引用的主表中的主键列必须已经设置主键约束
--部门主键约束设置
--员工外键约束设置
- REFERENCES newdept (department_id);
--级联删除
- REFERENCES newdept (department_id)
--级联置空
- REFERENCES newdept (department_id)
--无效化约束(暂时使约束失效)
- DISABLE CONSTRAINTS newemp_empid_pk;
--激活约束
- ENABLE CONSTRAINTS newemp_empid_pk;
--给学生表设置班级外键约束
- -- 设置班级表的主键
- --加外键约束
- references class (classid)
- --on delete cascade;--联级删除
--删除约束
IV.视图
虚拟表,作用是保存查询结果,仅保存查询语句,而不保存真实数据(物化视图例外)
--创建视图语法(如果查询语句中有衍生列,必须起别名)
CREATE [OR REPLACE] VIEW 视图名称 AS 查询语句
--创建视图CREATE VIEW v_视图名字AS SQL语句(不能有重复的列)
--创建视图v_emp:查询员工表中的50号部门的员工编号,姓名,工资
--创建只读视图_1
- on t1.deptno = t2.deptno
--创建只读视图_2
--查询视图
--删除视图
--创建视图v_dept:查询每个部门的编号,名称,员工人数,员工工资总和
- SELECT d.department_id,
- d.department_name,
- COUNT(e.employee_id) emp_count,
- SUM(e.salary) sal_sum
- FROM departments d
- d.department_name;
--查询视图
--物化视图
--序列
V.序列
--创建序列(CREATE SEQUENCE stu_seq;)
- CREATE SEQUENCE stu_seq
- START WITH 100 --起始值,默认是1
- INCREMENT BY 10 --递增值,默认是1
- NOMAXVALUE --最大值,默认无最大值
- NOCYCLE --假如设置了最大值,到达最大值之后,是否从头开始,默认NOCYCLE
- CACHE 10 --缓存数量,默认20
- ;
--使用序列
--在插入语句中使用序列
--删除序列
- DROP SEQUENCE stu_seq;
VI.索引
其作用加快查询速度,但是会降低DML速度
--索引的分类:
--B-TREE索引:默认,适合列值基数比较高,冗余数据很少的时候
--位图索引: 适合列值基数比较低,冗余数据比较多的时候
--创建实验表、
--创建唯一性索引
--创建普通索引
--删除索引
--创建基于函数的索引
--创建位图索引
--查询实验
适合创建B-TREE索引的时机:
1.列值基数比较高(重复率比较低)
2.不以空值做条件
3.列经常出现在条件子句中
4.表很大
5.经常做查询操作,而不是DML操作
6.满足条件的数据不超过总记录数的15%
7.模糊查询不走索引,如果模糊查询想使用索引,必须用全文检索技术
--快速查找
--二分法
--先排序
- --创建普通索引(单列)
- --创建普通索引(多列)
- --最左前缀性
- --创建唯一索引
- --创建函数索引
- --位图索引
like 'a%'--有可能走索引
like '%a%'--不会走索引
--创建实验表
--这个忘了什么意思
--去重
- union
--去重
--找交集
- intersect--找交集
--找补集
- minus--找补集
- minus--找补集
--查询5-10条记录
- minus
VII.同义词
即:缩短对象的名称
--授权
--创建同义词
--使用同义词
--删除同义词
- DROP SYNONYM e;
VII.集合运算
把多个查询结果以并集,交集,补集的形式合并成一个查询结果
-- 去掉重复,排序,速度慢--纵向拼接,注意,字段类型,数量,顺序保持一致
-- 不去掉重复,不排序,速度快
--创建试验表1
- id NUMBER,
- name VARCHAR2(50)
- );
--创建试验表2
- id NUMBER,
- name VARCHAR2(50)
- );
--并集union(自动消除重复行)
--并集union all
--交集intersect
--补集minus
- MINUS
- MINUS
--混合运算
- MINUS
--查询员工的第5到第10条数据
- MINUS
【JSU】LJDragon's Oracle course over in 3th.
ORACLE STUDY NOTES 02的更多相关文章
- ORACLE STUDY NOTES 01
[JSU]LJDragon's Oracle course notes In the first semester, junior year DML数据操纵语言 DML指:update,delete, ...
- Machine Learning Algorithms Study Notes(3)--Learning Theory
Machine Learning Algorithms Study Notes 高雪松 @雪松Cedro Microsoft MVP 本系列文章是Andrew Ng 在斯坦福的机器学习课程 CS 22 ...
- Machine Learning Algorithms Study Notes(2)--Supervised Learning
Machine Learning Algorithms Study Notes 高雪松 @雪松Cedro Microsoft MVP 本系列文章是Andrew Ng 在斯坦福的机器学习课程 CS 22 ...
- Machine Learning Algorithms Study Notes(1)--Introduction
Machine Learning Algorithms Study Notes 高雪松 @雪松Cedro Microsoft MVP 目 录 1 Introduction 1 1.1 ...
- Oracle Study之-AIX6.1构建Oracle 10gR2 RAC(3)
Oracle Study之-AIX6.1构建Oracle 10gR2 RAC(3) 一.配置共享存储 [oracle@aix203 ~]$lsdev -c disk hdisk0 Available ...
- Oracle Study之-AIX6.1构建Oracle 10gR2 RAC(4)
Oracle Study之-AIX6.1构建Oracle 10gR2 RAC(4) 一.安装CRS补丁 在安装CRS之前,须要安装补丁p6718715_10203_AIX64-5L,否则在安装时会出现 ...
- Oracle Study之--Oracle 11gR2通过RMAN克隆数据库
Oracle Study之--Oracle 11gR2通过RMAN克隆数据库 Purpose of Database Duplication A duplicate database is usefu ...
- Oracle Study之--Oracle 单实例11.2.0.1.0升级到11.2.0.3.0
Oracle Study之--Oracle 单实例11.2.0.1.0升级到11.2.0.3.0 系统环境: 操作系统:RedHat EL6(64位) Oracle: Oracle 11gR2 ...
- Study notes for Clustering and K-means
1. Clustering Analysis Clustering is the process of grouping a set of (unlabeled) data objects into ...
随机推荐
- 批量升级BMC固件asu64、ipmitool
需求:通过服务器远程管理IP批量升级IMM.UEFI固件 工具:asu64.ipmitool.iflash64.cdc_interface.sh 下载:http://pan.baidu.com/s/1 ...
- Resizing LVM Logical Volumes-lvextend
1. fdisk命令/dev/sdc再分出一个sdc2分区 [root@rhel7 ~]# fdisk /dev/sdc Welcome to fdisk (util-linux ). Changes ...
- C# 在右下角弹出窗口
窗口代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Da ...
- hdu 5124
bc上的题目,很水,有很多方法做吧,题意大概就是给定你票数,然后让你求出票数最多的那个下标...... 之前我用两个for循环分开写,一个是读入,然后是判断,提交就wa,后来网上看了别人的,就是不能分 ...
- jquery插件--多行文本缩略
1.webkit内核多行缩略样式 text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orie ...
- 获取EnterpriseLibrary企业库配置文件中ConnectionStrings(原创)
在使用企业类库时想取出单独企业配置文件中的连接字符串遍历,并放到自己的数据库处理类中,在查找了很久的资料后都没有找到,于是自己探索着写了一个,共享给大家以做参考: ConfigurationSourc ...
- SOA
面向服务架构Service-Oriented Architecture 4个特性 1每个服务具有明确的边界 2服务是独立的 3采用标准的契约定义和通信协议 4服务是自解释的
- Android Studio 实用快捷键
ctrl + alt + 方向键 跳转到上次或下次编辑位置 ctrl + alt +n 查找文件 shift + f6 重构之重命名 ctrl + f12 导航到类方法 ...
- 1201.1——Vim编辑器的相关操作
一 vi的操作模式 vi提供两种操作模式:输入模式(insert mode)和指令模式(command mode).在输入模式下,用户可输入文本资料.在指令模式下,可进行删除.修改等各种编辑动作. 在 ...
- sql语法图