1条件运算符号
(1) 比较运算符号
=
!= <> ^=
any some
all
2单行函数
instr(hphm1,'5') 第一次出现字符5的位置,找不到返回0
length
substr
replace
3数值函数
round 四舍五入
select round(xh) from lifztest3 where xh ='12.45'
12
select round(xh,1) from lifztest3 where xh ='12.45'
12.5
select round(xh,2) from lifztest3 where xh ='12.45'
12.45
trunc 根据给定整数截取小数位
select trunc(xh,6) from lifztest3 where xh ='12.4222215'
12.422221
sign 判断正负零 1、-1 ,0
select sign(xh) from lifztest3 where xh ='12.4222215'
1
vsize 字段值所占的字符空间大小
5转换函数
to_char
select to_char(rq,'YYYY-MM-DD HH24:Mi:SS') from lifztest3 where xh = '32012402001578' and rownum <2
2015-10-21 16:10:01
to_date
select to_date(rqstr,'YYYY-MM-DD HH24:Mi:SS') from lifztest3 where xh = '32012402001578' and rownum <2
to_number
6 组函数
avg 平均值 忽略null
count
max 忽略null
min 忽略null
stddev标准差 忽略null
sum 忽略null
variance方差 忽略null
7
select xh,syxz,count(*) from lifztest3 where xh >'12' group by xh,syxz having xh>'441' order by count(*)
视图
create or replace view view_lifztest3 as select * from lifztest3 具insert delete update权限
在一下条件建立的视图则无上述权限
集合运算 union union all intersect minus
distinct
组函数 avg count min max stddev variance
select中包含表达式 ???
create or replace view view_lifztest3 as select * from lifztest3 where xh = 'a' 能插入到lifztest3表
子查询
链接查询(有例外)
with read only
索引
create index index_lifztest3 on lifztest3(xh)
序列
create sequence seq_lifztest3 increment by 1 start with 600930000000 with nocache
select seq_lifztest3.currval from dual
select seq_lifztest3.nextval from dual
同义词
create synonym codetest for lfz.lifztest3
创建用户
create user lifzuser identified by lifpassword
创建角色
create role lfzdbauser identified by lifpassword
授权
grant dba to lifzuser
grant creat table session to lifzuser
grant insert ,update ,delete ,select on lifz.lifztest3 for lifzuser
剥夺授权
revoke
revoke insert ,update ,delete ,select on lifz.lifztest3 from lifzuser
数字字典
1静态字典
select table_name from user_tables; 查找表
select index_name ,table_name from user_indexes 查找视图
select sequence_name, min_value,max_value increment_by from user_sequences 查找序列
select synonym_name,table_name from user_synonyms 查找同义词
select username ,granted_role from user_role_privs 查找用户角色
查找重复记录
select * from lifztest3 a where (a.hphm,a.hpzl,a.fdjh) in (select hphm,hpzl,fdjh from lifztest3
group by hphm,hpzl,fdjh having count(*) > 1) and rowid not in (select min(rowid) from
lifztest3 group by hphm,hpzl,fdjh having count(*)>1)
in 和exists 区别
有两个简单例子,以说明 “exists”和“in”的效率问题
1) select * from T1 where exists(select 1 from T2 where T1.a=T2.a) ;
T1数据量小而T2数据量非常大时,T1<<T2 时,1) 的查询效率高。
2) select * from T1 where T1.a in (select T2.a from T2) ;
T1数据量非常大而T2数据量小时,T1>>T2 时,2) 的查询效率高。
exists 用法:
请注意 1)句中的有颜色字体的部分 ,理解其含义;
其中 “select 1 from T2 where T1.a=T2.a” 相当于一个关联表查询,相当于
“select 1 from T1,T2 where T1.a=T2.a”
但是,如果你当当执行 1) 句括号里的语句,是会报语法错误的,这也是使用exists需要注意的地方。
“exists(xxx)”就表示括号里的语句能不能查出记录,它要查的记录是否存在。
因此“select 1”这里的 “1”其实是无关紧要的,换成“*”也没问题,它只在乎括号里的数据能不能查找出来,是否存在这样的记录,如果存在,这 1) 句的where 条件成立。
通过使用EXISTS,Oracle会首先检查主查询,然后运行子查询直到它找到第一个匹配项,这就节省了时间。Oracle在执行IN子查询时,首先执行子查询,并将获得的结果列表存放在一个加了索引的临时表中。在执行子查询之前,系统先将主查询挂起,待子查询执行完毕,存放在临时表中以后再执行主查询。这也就是使用EXISTS比使用IN通常查询速度快的原因
规律就是:用小表数据到大表里面查询
from:http://blog.sina.com.cn/s/blog_601d1ce30100cyrb.html
判断 中文
select * from A where asciistr(a) like '%\%' and instr(a, '\') <= 0;
http://blog.csdn.net/happyqwz/article/details/7778135
分享到:
相关推荐
oracle 常用命令大全 oracle dba 常用命令 1 运行 SQLPLUS 工具 sqlplus 2 以 OS 的默认身份连接 / as sysdba 3 显示当前用户名 show user 4 直接进入 SQLPLUS 命令提示符 sqlplus /nolog 5 在命令提示符以 OS 身份...
### Oracle 常用命令与操作指南 #### 一、Oracle 安装与卸载注意事项 **1.1 Oracle 的安装** - **安装步骤:** 对于 Oracle 的安装,网络上有很多详细的指导教程。在安装过程中,需要注意的是,管理口令部分确保...
### ORACLE常用命令详解 #### 一、ORACLE的启动和关闭 在ORACLE数据库管理中,正确地启动和关闭数据库是非常重要的操作之一。这些操作不仅涉及到系统的稳定性,还关系到数据的安全性。 ##### 1、在单机环境下 ...
ORACLE常用命令 一、ORACLE的启动和关闭 1、在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a、启动ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>startup ...
natstat,oracle常用命令常用命令natstat,oracle常用命令常用命令natstat,oracle常用命令常用命令natstat,oracle常用命令常用命令natstat,oracle常用命令常用命令
《Oracle常用命令速查手册》将介绍一些常用的Oracle命令和其用法,比如数据导入导出命令、存储过程和触发器的管理以及性能监控等方面的常用命令,通过简单明了的示例,展示了每个命令的用法和效果,以帮助读者更好地...
linux,linux和Oracle常用命令linux环境配置ORACLE常用命令
以下是一些关于Oracle常用命令的详细说明,分为日志管理和表空间管理两大部分。 ### 日志管理 #### 1. 强制日志切换 ```sql alter system switch logfile; ``` 这个命令用于在当前重做日志文件填满前强制进行日志...
### Oracle常用命令详解 #### 一、Oracle的启动与关闭 **1. 在单机环境下的启动与关闭** - **启动Oracle系统** - **切换用户:** 首先需要切换到Oracle用户环境。 ```bash su - oracle ``` - **使用`svrmgrl`...
oracle常用命令收集 oracle常用命令
Oracle常用命令大汇总 Oracle是世界上最流行的关系数据库管理系统之一,由Oracle Corporation开发和维护。作为一个功能强大的数据库管理系统,Oracle提供了许多实用的命令来帮助数据库管理员和开发者更好地管理和...
第一章:日志管理 1.forcing log switches sql> alter system switch logfile; 2.forcing checkpoints sql> alter system checkpoint; 3.adding online redo log groups sql> alter database add log...
Oracle创建删除用户、角色、表空间、导入导出数据库命令行方式总结.pdf
ORACLE常用命令举例 ORACLE常用命令举例 ORACLE常用命令举例 ORACLE常用命令举例 ORACLE常用命令举例
### ORACLE常用命令集 #### 一、日志管理 在Oracle数据库中,日志管理是维护数据库稳定性和完整性的重要组成部分。以下是一些常见的Oracle日志管理命令。 **1. 强制日志切换** - **命令**: `alter system ...