select查询之五:分析函数在查询的运用
在平时的查询工作中,我们还通常会借助一些分析函数,来协助查询做分析。以下就介绍几个分析函数的例子。基于TOP N:1、数据背景表sc:SQL> select * from sc; SNO CNO GRADE-------...
select查询之四:连接查询
连接查询,有自连接,内连接,外连接与交叉连接,交叉连接也叫笛卡尔积查询。其中外连接又分全外连接、左外连接与右外连接。1、左外连接:查询所有员工的信息并且列出员工的部门名称 SQL> select e.last_name,d.department_id,d.department_name 2 from employees e 3 ...
select查询之二:分组与排序
平时,为了更容易看查询出来的数据,我们往往通过一些分组或者排序处理, 在这里简单讲一下分组字句group by 与排序order by 字句的简单应用,其中, order by 字句永远放在查询语句的最后面。Select语句的总结构:Select [字段] [限制条件] from [数据表] /子查询[嵌套查询]where [筛选条件...
select查询之三:子查询
Select语句的总结构:Select [字段] [限制条件] from [数据表] /子查询[嵌套查询]where [筛选条件] /子查询[嵌套查询]group by[分组字段] /子查询[嵌套查询]Having [辅助筛选条件] /子查询[嵌套查询]order by[排序字段];如以上所示,子查询或...
select查询之一:普通查询
查询是数据库工作者最常用的一种操作。Select语句的总结构:Select [字段] [限制条件] from [数据表] /子查询[嵌套查询]where [筛选条件] /子查询[嵌套查询]group by[分组字段] Having [辅助筛选条件] /子查询[嵌套查询]order by[排序字段];上面说到的子查询或者嵌套查...
表管理之五:创建表的方法
在本模块内容:表管理之一,讲到了最基本的方法创建一个新表。在这一篇博客里,我们稍微讲一下其他创建表的方法。除了直接法,还有CTAS法,这一种也包含两个方法,还有一种就是个人认为的一种创建表的方法,with语句创建虚表。with语句在查询当中作为中间件,简化了一些复杂的查询。1、基本法:建表的语法:Cre...
表管理之四:删除数据Delete与truncate的使用区别
本博客详细讲Delete与truncate的使用区别。SQL> select * from totalnum; T1 T2---------- ---------- 3 ...
表管理之三:表与表结构的管理
有时候,根据实际需求,后期还可以对表与表的结构进行修改维护,包括表的命名与删除,字段的命名,状态的修改,字段的增加与删除等。1、表 students字段的管理:SQL> desc students; Name ...
表管理之二:表数据的插入修改与删除
上一篇博文中创建了4个数据表,基本建表法所创建的表都是空白的,只有表结构,而没有数据,以下就让我们对表students、courses、s_grade与total 一一进行部分数据的插入,再进一步对部分数据进行修改:更新或者删除。1、插入数据并查询:(对表插入数据有多种方法,在此只介绍两种)insert into table_name values(.......
表管理之一:创建表
数据库中存放数据的主要对象就是表,创建了一个数据库之后,就需要创建表来存放实际生产当中的数据。以下就是从最基本,最直接,最原始的方法创建一个“空白”的表。建表的前提是根据实际生产的业务需求,先构建表的框架,能够依据第三范式去组合表对象与字段之间的关系。接着就是根据构建好的框架,用简单易懂并充分的...
手动创建数据库过程
1、设置环境变量:[oracle@enmo ~]$ cat .bash_profile# .bash_profile# Get the aliases and functionsif [ -f ~/.bashrc ]; then????????. ~/.bashrcfi# User specific environment and startup programsPATH=$PATH:$HOME/bin?e...
scn_to_timestamp与timestamp_to_scn的相互转化
既然前面的一些博文中提到了scn_to_timestamp与timestamp_to_scn这两个转化函数,心里一直想着找些空余的时间进行探究一些,他们到底是怎样地相互转换,是否收到账户更换的影响。今天专门进行了几组的测试,发现还挺有意思的,虽然还是有点达不到预期的结果,但是告诉我们:是可以相互转换来用于闪回数据库到某个时间点...
基于时间戳闪回数据库
我的上一篇博客讲述基于系统改变号SCN闪回数据库,在这里再讲述一下基于时间戳的闪回数据库技术。更多的情况下,基于时间戳的闪回数据库更多使用,我在前面的一篇博文中也有所提到,基于时间戳(timestamp)与基于SCN两种的闪回技术,都可以相互转换,转换函数为:to_scn() 与 to_timestamp(),只要便于知道哪一个为先,就...
基于SCN闪回数据库
由我的上一篇博客《闪回数据看的事情》写到一些闪回数据库的步骤与方法,4种方法中,其中以一种就是本文讲述的:基于SCN(数据库系统改变号)闪回数据库,SCN由dbms_flashback.get_system_change_number查得,语句为: select dbms_flashback.get_system_change_number as scn from dual;在实例数据库...
闪回数据库的事情
闪回数据库:1、 数据库闪回 基本 步骤 前提:归档日志可用1) 关闭数据库2) 到 启动数据库到 mount 状态(exclusive 模式)3) 闪回至某个时间点,SCN 或还原点4) Read only 打开数据库,验证是否已还原到理想的时间点...
利用ORACLE_DATAPUMP为驱动创建外部表
利用ORACLE_DATAPUMP为驱动创建外部表首先要确定将要用那个表来卸载,本次就选用scott用户下的dept表,作为下载表。1、先让我们看看dept表的结构:desc deptName &nbs...
闪回版本查询技术:
有时候,我们队个别频发变动的数据不断地修改,而修改后,一般情况系,只能看到修改最后的一个结果,为了能够清楚地看到整个修改过程中的每次修改的结果,我们可以通过闪回版本查询技术。我们登录Scott用户下的emp表,对表中一条员工号为empno=7369的员工工资进行多次修改,如下:conn scott/tiger0520最初的数据...
闪回删除技术:
闪回删除技术,方便我们平时恢复有意无意地错误删除了的表,要知道,一般情况下,没有加purge强制删除表的情况下,普通drop的表一般都会先放回数据库中得recyclebin(还有垃圾箱空间足够),相当window系统的垃圾箱。我们可以先看看oracle数据库中recyclebin的结构,我们登录Scott用户conn scott/tiger0520SQL> d...
闪回表技术
有时候,我们插入更新数据,已经成功插入部分数据并提交commit了,发现有些数据插入错误或者不想插入,我们想返回某个时间点(timestamp)或者scn的数据状态,这时候,我们可以通过闪回表技术帮忙解决这个问题。此处,我们只通过时间来做一次闪回表:进入scoot用户创建的test1表,并显示时间,查看此时状态的数据,con...
闪回技术查询数据
闪回技术查询数据,在我们的工作生产当中也会经常用到。一般情况下,我们常用两种方式作为确定条件,一个是基于时间戳Timestamp的闪回查询,另一种是基于scn的闪回查询,当然他们也可以相互转化,则利用timastamp_to_scn与scn_to_timestamp相互转化,便于大家运用。往后再另作这两个的相互转化用法。在此,我们首先在sco...