Day06 杂乱与4个对象
1.杂乱
-- 数据库的分页操作
-- 分页使用的是rownum
例1:
select rownum,empno,ename
from emp
where rownum <= 5;
结果:
例2:
select r,empno,ename
from (
select rownum r,empno,ename
from emp
where rownum <= 5
)
where r >1;
结果:
--注意: 给字段取别名不要给表取
--可以根据需求来决定1页要显示的数据条数。
--rowid 用来指定本地文件里面数据存放的位置。
-- purge 回收站
--oracle的回收站
show recyclebin;
-- 查询回收站里面的表的数据 如果你需要查询回收站里面的内容那么你需要满足一个格式,就是给表名添加双引号(" ")。
select * from "BIN$7VBJkRCLTEmSMoICIxm6lg==$0";
-- 双引号的作用
-- 1). 别名 2). 常量 3). 用来查询回收站里面的表的数据
-- 如何还原回收站里面的内容 -- 闪回 在oracle中一共有7中闪回技术。
-- oracle中的约束条件
1). 主键约束 primary key 非空且唯一
2). 非空约束 not null
3). 唯一性约束 unique
4). check约束 check
5). 外键约束 foreign key
例:
create table testemp(
id number(5) primary key,
name varchar2(20) not null,
gender varchar2(10) check(gender in('男','女')),
cardid varchar2(3) unique,
detpno number references dept(deptno)
);
-- constraint 用来修改oracle的错误提示编码
create table testemp
(
id number(5) primary key,
name varchar2(20) constraint name_not_null not null,
gender varchar2(10) constraint gender_check check(gender in('男','女')),
cardid varchar2(3) constraint carid_unique unique,
detpno number constraint fk references dept(deptno)
);
2.4个对象(视图、索引、序列、同义词)
-- 视图(视图是一个逻辑表,用来简化sql查询语句,视图本身不存放数据,视图不能提高查询效率)
-- 视图的创建
-- 默认情况下scott用户是没有创建视图的权限的(view) 。
-- 给soctt用户授权,让它可以创建视图 (grant create view to scott)。
-- 登录dba的命令 cmd >>输入: sqlplus / as sysdba; 然后输入 :grant create view to scott;
例:
create view myview
as
select * from emp;
create view myview
as
select e.ename,d.dname,e.job,e.sal,e.comm
from emp e,dept d
where e.deptno = d.deptno;
-- 视图的第二个用途: 对于一些敏感的数据可以用来隐藏。
-- 一般创建视图的时候都不希望用视图去修改其真实的表。(添加一个 with read only;)
SQL> create view myview
as
select empno,ename,job
from emp
with read only; 视图已创建。 SQL> insert into myview values(1001,'ddd','SAL');
insert into myview values(1001,'ddd','SAL')
*
第 1 行出现错误:
ORA-01733: 此处不允许虚拟列 //这样就可以隐藏一些敏感数据
---索引(index)
-- 索引的用途: 可以用来提高查询的效率, 索引可以在一定程度上提高我们的查询效率,但是它要根据数据量来决定,数据量越多提高的效果越明显,数据越低效果越不明显。
create index myjob on emp(job);
注意: -- 可以通过查询sql执行的日志,来查看是否调用了我们的索引。
-- 经常变动的列不适合建立索引。
-- 索引的实现 -- B树索引和位图索引(矩阵)
-- 序列
sequence 主要用来做主键的自增长。
-- 创建一个序列
create sequence myseq;
-- 如何使用序列: nextval,currentval。
select myseq.nextval from dual;
select myseq.currval from dual;
drop sequence myseq; --删除序列
-- 创建一个序列从50开始
create sequence myseq start with 50;
-- 创建一个序列从50开始,然后每次增加10
create sequence myseq
start with 100
increment by 5;
-- 同义词
-- synonym: oracle中表的别名。
-- 主要用途: 用来给其他用户下的表添加别名。
Day06 杂乱与4个对象的更多相关文章
- python杂乱有关类与对象
在python的类中,一般里面的方法和属性默认都是publlic,如果要设为private,即自己访问,主要是根据命名方式来区分的,通过__ 两个下划线加在名字前面,即为私有方法和私有属性 构造方法 ...
- JavaScript对象(Object)
JavaScript的简单数据类型包括数字.字符串.布尔值.null值和undefined值,其他所有的值都是对象.数字.字符串.布尔值“貌似”对象,因为他们拥有方法,但是他们是不可变的. ...
- 基础学习day06---面向对象二---static,类的初始化和调用顺序、单例模式
一.static关键字 1.1.static关键字 静态:static用法:是一个修饰符,用于修饰成员(成员变量,成员函数)static 修饰的内容,所有对象共享当成员被静态修饰后,就多了一个调用方式 ...
- request对象常用API 获取请求参数的值 request应用 MVC设计模式
1 request对象常用API 1)表示web浏览器向web服务端的请求 2)url表示访问web应用的完整路径:http://localhost:8080/day06/Demo1 ...
- ServletContext对象
**1 ServletContext对象 1)在web应用中,由服务器创建的唯一的一个对象是ServletContext 2)ServletContext对象在每一个Servlet中取得都是相 ...
- QTP自传之对象
对象在手,测试我有 大家别误会,这里说的对象可不是值指男女朋友,而是对被测控件的识别.经过昨天的录制,大家一定很奇怪为什么我可以做到精确的回放操作,这都要归功于对象,下面就隆重的介绍我在对象识别方面的 ...
- ServletContext对象(每个工程只有一个此对象)
一]重点方法: 1>存取对象 void setAttribute(String name, Object object);//将obj ...
- 理解Servlet及其对象
一.ServeltConfig对象 在Servlet的配置文件中,可以使用一个或多个<init-param>标签为Servlet配置一些初始化参数.而不当Servlet配置了初始化参数后, ...
- C++ 对象的内存布局(上)
C++ 对象的内存布局(上) 陈皓 http://blog.csdn.net/haoel 点击这里查看下篇>>> 前言 07年12月,我写了一篇<C++虚函数表解析>的文 ...
随机推荐
- hdu 2829 Lawrence(斜率优化DP)
题目链接:hdu 2829 Lawrence 题意: 在一条直线型的铁路上,每个站点有各自的权重num[i],每一段铁路(边)的权重(题目上说是战略价值什么的好像)是能经过这条边的所有站点的乘积之和. ...
- Ansible hostvars
1. inventory hosts file 中的server 变量会覆盖group变量. hostvars: { "iaas_name": "test", ...
- 重载operator<<
学习<深入探索>时,发现原文中提供的一个代码大致如下(书中第3页) class Point3d { inline ostream& operator <<(ostrea ...
- 2015 Syrian Private Universities Collegiate Programming Contest 题解
题目在这里>_< 发现这场比赛在网上没有完整的题解,甚至连题目代码都没人贴出来(大概是因为题目太水了吧...).所以宝宝就来写个题解,也就当作成长记录了233333 A. Window 题 ...
- for i in xrange(0,5)使用过程中遇到的问题
文件中共有4行内容. fd = open("C:\Users\william\Desktop\dup_file - Copy (2).txt")for i in xrange(0, ...
- 从安装.net Core 到helloWord(Mac上)
最近听说微软 正式发不了.netCore 1.0 于是就安装了 并安装了vs Code 用于编写一些.net程序 一. .netCore的安装: 首先需要通过brew安装openssl(相信homeB ...
- C++中Map常见用法以及按照value排序
今天做一个简单的算法题,居然用了1个小时,STL unordered_map用多了,没想到map这次派上了用场,这里记录一下: 算法题为 给一个字符串例如 abaaba,每连续两个字符组成一个子串 ...
- JQuery常用API 核心 效果 JQueryHTML 遍历 Event事件
JQuery 常用API 参考资料:JQuery 官网 jQuery API 中文文档 核心 jQuery 对象 jQuery() 返回匹配的元素集合,无论是通过在DOM的基础上传递的参数还是创建 ...
- angularjs表单中enter键提交
html页面: <form class="smart-form" id="checkout-form" searchinput> <div c ...
- 【转】python - PyDev统一编码
http://www.cnblogs.com/huangjacky/archive/2012/07/15/2592166.html 我们都知道Win7默认编码是GBK,而Ubuntu下面默认是utf- ...