Oracle 基础知识
SQLDevelop
1. 查看数据库版本 : select * from v$version;
2. 查看表结构: desc TABLE_NAME
3. 查看当前连接用户: select * from v$session; (show user; 在SQLPlus中显示当前用户名)
4. 查看当前被锁定的表:
SELECT OSUSER, machine, object_name, s.sid, s.serial#
FROM gv$locked_object l ,
dba_objects o,
gv$session s
WHERE l.object_id = o.object_id
AND l.session_id = s.sid
5. 解锁被锁定的表: alter system kill session 'sid, serial#'; (e.g: : alter system kill session '23, 4561' )
6. NVL函数,处理空值null : SELECT id, NVL(name, 'name_is_null') from STU1; -- 如果STU1表中,name字段为null, 则用name_is_null替换.
7. 查询当前用户下是否有某个表: SELECT COUNT(1) FROM USER_TABLES WHERE TABLE_NAME='STU12'; --如果存在为1, 不存在为0
8. 查询某个用户下是否有某个表: select count(1) from dba_tables where owner = 'USER_NAME' and table_name = 'TABLE_NAME';
9. 查看当前用户下是否有某个(Package/Procedure/Function) :
SELECT * FROM USER_PROCEDURES OBJECT_TYPE=' FUNCTION| PROCEDURE | PACKAGE'
10. 查看所有用户 SELECT * FROM all_users;
11. Sequence 的用法
create sequence mysql
START WITH 1
INCREMENT BY 1
NOMAXVALUE
NOMINVALUE
NOCYCLE -- if CYCLE 1000 表示增长到1000之后又从1开始
NOCACHE
12. union, union all, intersect, minus 的操作
- union all 将结果集累加 (包含重复记录)
SELECT * FROM STU1
union all
SELECT * FROM STU2
-- union 将结果集累加(去除重复)
SELECT * FROM STU1
union
SELECT * FROM STU2 -- intersect 去结果集的: 交集
SELECT * FROM STU1
intersect
SELECT * FROM STU2 -- minus 去结果集的: 差集 (将第一个select所得结果, 减去 所有出现在 第二select的结果)
SELECT * FROM STU1
minus
SELECT * FROM STU2
13. oracle 数据的五种对象:别名(synonym) , 序列(Sequence), 视图(View), 索引(Index) , 族(cluser).
14. sign(num)的用法:
if num > 0, sign(num) =1;
if num =0, sign(num) =0;
if num <0 , sign(num) = -1;
15. decode 函数用法:
Usage#1: decode( expression , search , result [, search , result]... [, default] )
select decode(id, 1, '#1',
2, '#2',
3, '#3',
4, '#4',
'#Default NO#'),
name
from STU1; -- 将id为1,2,3,4分别转义为#1,#2,#3,#4, 如果不是1,2,3,4则转换为 #Default NO# :
Usage#2: decode((date1 - date2) - abs(date1 - date2), 0, date2, date1) -- 比较2个中大小,返回较小的一个
Usage#3: 结合sign(num)函数,判断学生成绩 >=80 为优秀, 60<= score <80 为良好, socre < 60 为不及格
select id, name ,score, decode(sign(score-80), 1 , '优秀', 0, '优秀', -1,
decode(sign(score-60), 1, '良好', 0, '良好', -1 ,'不及格') )
from STU1;
16. trunc( number, [ decimal_places ] ) 用法(decimal_places必须为>=0的整数,将number后面多余的位数抹掉,不足的位数,保留原有的摸样)
trunc(125.815) would return 125
trunc(125.815, 0) would return 125
trunc(125.815, 1) would return 125.8
trunc(125.815, 2) would return 125.81
trunc(125.81, 3) would return 125.81
trunc(-125.815, 2) would return -125.81
trunc(125.815, -1) would return 120
trunc(125.815, -2) would return 100
trunc(125.81, -3) would return 0 如果decimal_places 大于number 本身的小数位数,返回原数字不会加0.
如:trunc(125.81,3) would return 125.81;
如果decimal_places 为负数,那么将指定的位数设置为0
17. 查询哪些用户连接到数据库了,并且他们的IP地址分别是什么?
17-1. 缺省从 v$session 中不能直接获得客户端 IP,可以在数据库中创建一个追踪客户端IP地址的触发器:
create or replace trigger on_logon_trigger after logon on database
begin
dbms_application_info.set_client_info(sys_context('userenv', 'ip_address'));
end;
17-2. 退出之后,当用户重新登录时,可以查看IP地址
select sid,serial#,username,program,machine,client_info
from v$session
where username is not null
order by username,program,machine;
18. SYSTEM 用户忘记密码
D:\oracle\product\11.2.\dbhome_1\BIN>sqlplus /nolog SQL*Plus: Release 11.2.0.1. Production on 星期四 7月 :: Copyright (c) , , Oracle. All rights reserved. SQL> conn /as sysdba
已连接。
SQL> alter user SYSTEM identified by 新密码; 用户已更改。 SQL> exit
19. 复制表
ORACLE 如果表不存在:
只复制表结构:create table T_COLUMN_BK as select * from T_COLUMN WHERE 1<>1; //如果只是复制部分字段,可以用具体的字段列表代替 *
表结构+数据: create table T_COLUMN_BK as select * from T_COLUMN ; //如果只是复制部分字段,可以用具体的字段列表代替 * ORACLE 如果表已经存在:
复制表数据: INSERT INTO T_COLUMN_BK SELECT * FROM T_COLUMN
20. 查询当前数据库实例名称: SELECT instance_name FROM v$instance;
21, 查询当前数据库名称: SELECT name FROM v$database;
默认情况下,数据库实例名称和数据库名称相同。
22. NVL() 函数的使用
-- NVL(expr1, expr2) if expr1==null, return expr2; e.g: NVL(null, 'aa' ) ---> aa ;
if expr1 != null, return expr1; e.g : NVL('xx', 'aa' )----> xx
-- NVL2(expr, expr1, expr2) if expr == null, return expr2; e.g: NVL2(null, 'aa', 'bb') ----->bb
if expr != null, return expr1; e.g: NVL2('xxx', 'aa', 'bb') ---->aa
Oracle 基础知识的更多相关文章
- 图说Oracle基础知识(一)
本文主要对Oralce数据库操作的基础知识进行一下梳理,以便进行归纳总结.适用于未使用过Oracle数据库的读者,或需要学习Oracle数据库方面的基础知识.如有不足之处,还请指正. 关于SQL介绍的 ...
- Oracle基础知识汇总一
Oracle基础知识 以下内容为本人的学习笔记,如需要转载,请声明原文链接 https://www.cnblogs.com/lyh1024/p/16720759.html oracle工具: SQ ...
- Oracle 基础知识入门
前记: 近来项目用到Oracle数据库,大学学了点,后面基本忘记得差不多了,虽然基本语法跟sql 差不多,但是oracle知识是非常多的. 这里简单说点基础知识,希望后面补上更多的关于ORacle知识 ...
- Oracle基础知识笔记(10) 约束
表尽管建立完毕了,可是表中的数据是否合法并不能有所检查,而假设要想针对于表中的数据做一些过滤的话,则能够通过约束完毕,约束的主要功能是保证表中的数据合法性,依照约束的分类,一共同拥有五种约束:非空约束 ...
- 2008-03-18 22:58 oracle基础知识小结
oracle 数据类型: 字段类型 中文说明 限制条件 ...
- oracle基础知识过一遍(原创)
用户.角色.权限.表空间 create tablespace test1_tablespace datafile ‘test1file.dbf’ size 10m; create temporary ...
- oracle 基础知识(七)----动态性能视图
一,动态性能视图介绍 动态性能视图属于数据字典,系统管理员用户 SYS 可以访问它们.在数据库打开和使用时不断进行更新,而且它们的内容主要与性能有关.虽然这些视图很像普通的数据库表,但它们不允许用户直 ...
- oracle 基础知识(三)
一.删除oracle 进入注册表到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleOraHome91TNSListener Ima ...
- oracle基础知识语法大全
ORACLE支持五种类型的完整性约束NOT NULL (非空)--防止NULL值进入指定的列,在单列基础上定义,默认情况下,ORACLE允许在任何列中有NULL值.CHECK (检查)--检查在约束中 ...
- oracle基础知识及语法
ORACLE支持五种类型的完整性约束 NOT NULL (非空)--防止NULL值进入指定的列,在单列基础上定义,默认情况下,ORACLE允许在任何列中有NULL值. CHECK (检查)--检查在约 ...
随机推荐
- 图层类(CCLayer)
层 以捕鱼游戏场景为例,场景可以大致分为4层. 菜单层:悬浮于最上方的各种菜单项. 触摸层:处理在屏幕上的触摸点击时间. 动作层:放置鱼.子弹.网等,并处理碰撞. 背景层:背景图片. 如图2-2所示, ...
- GitHub干货分享(APP引导页的高度集成 - DHGuidePageHUD)
每一个APP都会用到APP引导页,分量不重但是不可缺少,不论是APP的首次安装还是版本的更新,首先展现给用户眼前的也就只有它了,当然这里讲的不是APP引导页的美化而是APP引导页的高度集成,一行代码搞 ...
- Add an IPv6 route through an interface
Not often needed, sometimes in cases of dedicated point-to-point links. 7.4.1. Using "ip" ...
- JVM笔记4:Java内存分配策略
简单来说,对象内存分配主要是在堆中分配.但是分配的规则并不是固定的,取决于使用的收集器组合以及JVM内存相关参数的设定 以下介绍几条基本规则(使用的ParNew+Serial Old收集器组合): 一 ...
- 用ModelSim仿真SDRAM操作
之前写了两篇关于Modelsim仿真的blog,其中模块管脚的命名可能让人觉得有些奇怪,其实不然,之前的两篇内容都是为了仿真SDRAM操作做铺垫的. 由于SDRAM的仿真过程相对比较复杂,也比较繁琐. ...
- wampserver修改mysql密码后phpmyadmin登陆错误处理方法
首先针对wampserver这个软件来说,是很方面的! 在进行使用时都会涉及到关于mysql数据管理系统的相关密码的修改,这个当然修改是很简单,当时没有想那么多,想为自己的mysql添加一个密码,方式 ...
- PHP Fatal error问题处理
今天一个朋友公司网站遇到一个关于PHP的问题: PHP Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to ...
- 腾讯海量数据处理平台TDW
TDW是腾讯海量数据处理平台中最核心的模块,它有以下几个作用: 提供海量的离线计算和存储服务.TDW是腾讯内部规模最大的离线数据处理平台,公司内大多数业务的产品报表.运营分析.数据挖掘等的存储和计算都 ...
- Net预编译 真的好用与否
公司手机网站上千个 ASP.NET开发一套程序只是配置不一样,所有站点呈现的内容就不一样了, 以前的程序是ASP的,现在ASP程序猿少之又少了,所以公司要求转.NET,新开发也用NET.所有现在上千个 ...
- 今天是程序员节(Programmer‘s Day)
http://blog.jobbole.com/47787/ 我只想知道他们到底在说神马???