Oracle命令整理
1 常用命令
常用命令 |
|
1 |
sqlplus scott/tiger@192.168.47.10:1521/orcl 后面不要加; |
|
sqlplus sys/oracle as sysdba 【密码认证】 |
|
sqlplus 用户名任意/密码任意 as sysdba 【主机认证】 |
2 |
spool d:\基本查询.txt 录屏开始 |
|
spool off 录屏结束 |
3 |
show user 查看当前用户 |
|
select * from tab; 查看当前用户下的所有表 |
|
desc 表名 查看表的结构 |
4 |
show linesize |
|
set linesize 200 |
|
show pagesize |
|
set pagesize 30 设置每页显示的记录的条数 |
|
col 列名 for a8 设置列宽 for是format的缩写 |
|
col 列名 for 9999 设置列宽 9表示一位9999表示四位 |
5 |
host cls windows下清屏 |
|
host clear Linux下清屏 |
6 |
ed 弹出记事本编写上一条代码 edit缩写 |
|
c 命令 change的缩写 用法: 1 输入需要修改的行号 2 c/原内容/修改后的新内容 |
|
/ 执行当前编辑的命令 |
7 |
nvl(a,b) a不为null等于a,a为空等于b |
|
nvl2(a,b,c) 当a=null返回c,否则返回b |
|
nullif(a,b) 当a和b相等的时候,返回null,否则返回a |
|
coalesce 从左到右 找到第一个不为null的值 |
8 |
select userenv('language') from dual; 查看服务端编码 |
|
select * from V$NLS_PARAMETERS; 查看参数的值 |
|
NLS_LANG AMERICAN_AMERICA.ZHS16GBK 环境变量 |
9 |
http://192.168.47.10:5560/isqlplus/ 浏览器打开isqlplus |
|
http://192.168.47.10:1158/em/ 浏览器打开OEM |
10 |
break on deptno skip 2 相同的列显示一次 不同分组之间跳过两行 |
|
break on null 取消第26条命名的设置 |
11 |
set timing on 打开语句执行时间显示 |
|
set timing off 关闭语句执行时间的显示 |
12 |
set feedback off 关闭每次语句执行后的提醒 比如:已插入1行 |
|
set feedback on |
13 |
@d:\temp\testdelete.sql 执行指定目录下的脚本文件 |
14 |
savepoint a; 创建保存点 |
|
rollback to savepoint a; 返回到指定保存点 |
|
commit; |
|
rollback; |
15 |
set transaction read only; 设置隔离级别 |
16 |
wm_concat(varchar2) 多行函数 行转列 |
|
concat(char1,char2) || |
17 |
show recyclebin; 查看回收站 |
|
purge recyclebin; 清空回收站 |
|
flashback table 表名 to before drop; 从回收站恢复 |
|
drop table 表名 purge; 彻底删除,不进入回收站 |
|
select * from “回收站的表名【RECYCLEBIN NAME】”; |
|
注意:管理员没有回收站,回收站只针对普通用户 |
18 |
grant create view to scott; 授予创建视图的权限 |
|
grant select on hr.employees to scott; |
|
grant create synonym to scott; |
|
grant create tablespace to scott; |
19 |
--SQL的执行计划 |
|
explain plan for select * from emp where deptno=10; |
20 |
查看数据库的版本 |
|
SELECT version FROM product_component_version WHERE substr(product, 1, 6) = 'Oracle'; |
21 |
|
|
查询星期几中文显示 |
|
select to_char(sysdate,'day','NLS_DATE_LANGUAGE=''SIMPLIFIED CHINESE''') from dual; |
22 |
alter session set NLS_DATE_LANGUAGE='SIMPLIFIED CHINESE'; |
|
alter session set NLS_DATE_FORMAT='yyyy-mm-dd'; |
2 基本查询
基本查询 |
|
|
3 条件查询
条件查询 |
|
|
|
1 |
比较运算符 =, >, >= ,< ,<= ,<> |
2 |
between and , in(set) , like , is null |
3 |
escape |
4 |
and , or , not |
4 排序
排序 |
|
|
5 分组函数
分组函数 |
|
|
|
1 |
sum max min avg count() |
2 |
COUNT(DISTINCT expr) |
3 |
select deptno,job,sum(sal) from emp group by rollup(deptno,job); |
6 多表查询
多表查询 |
|
|
|
|
|
|
|
|
|
|
7 子查询
子查询 |
|
|
any , all , in 10个注意问题 |
1 |
括号 |
2 |
合理的书写风格 |
3 |
可以在主查询的where select having from 后面使用子查询 |
4 |
不可以在group by使用子查询 |
5 |
强调from后面的子查询 |
6 |
主查询和子查询可以不是同一张表;只有子查询返回的结果 主查询可以使用 即可 |
7 |
一般不在子查询中排序;但在top-n分析问题中 必须对子查询排序 |
8 |
一般先执行子查询,再执行主查询;但相关子查询例外 |
9 |
单行子查询只能使用单行操作符;多行子查询只能使用多行操作符 |
10 |
子查询中的null |
8 集合查询
集合查询 |
|
1 |
union/union all , intersect , minus |
9 字符函数
字符函数 |
|
1 |
lower upper initcap |
2 |
concat substr instr trim length length replace |
10 数字函数
数字函数 |
|
1 |
round trunc mod abs power exp floor ceil |
11 日期函数
日期函数 |
|
1 |
sysdate |
2 |
months_between add_months next_day last_day round trunc |
12 转换函数
转换函数 |
|
1 |
to_char to_date to_number |
13 通用函数
通用函数 |
|
1 |
nvl a不为null等于a,a为空等于b |
2 |
nvl2 当a=null返回c,否则返回b |
3 |
nullif(a,b) 当a和b相等的时候,返回null,否则返回a |
4 |
coalesce 从左到右 找到第一个不为null的值 |
14 条件表达式
条件表达式 |
|
1 |
|
2 |
15 表的增删改
表的增删改 |
|
1 |
|
2 |
|
3 |
|
4 |
delete和truncate的区别 |
|
|
|
16 使用DDL语句创建和管理表
使用DDL语句创建和管理表 |
|
|
|
|
创建表 create table 语句 |
1 |
|
2 |
|
|
|
|
|
|
删除表 drop table |
3 |
drop table 表名; |
4 |
drop table 表名 purge; |
5 |
desc 表名 |
修改表结构 alter table 语句 |
|
6 |
alter table 表名 add 列名 类型(长度) 约束; 【增加列】 |
7 |
alter table 表名 modify 列名 类型(长度) 约束; 【修改列的类型及约束】 |
8 |
alter table 表名 rename column旧列名 to 新列名 ; 【修改列名】 |
9 |
alter table 表名 drop column列名; 【删除列】 |
|
重命名表 rename |
10 |
rename 旧表名 to 新表名; 【修改表名】 |
|
删除表中的所有数据并释放表 |
11 |
truncate table 表名; |
|
创建表空间 |
|
|
|
创建用户 |
|
|
|
用户赋权限 |
|
|
16 视图
视图 |
|
|
|
1 |
WITH READ ONLY:只能做查询操作 |
2 |
with check option :我们通过这个视图只能操作我们看的到的数据。 |
3 |
使用CREATE OR REPLACE VIEW 子句修改视图 |
4 |
drop view 视图名; |
5 |
WITH READ ONLY 选项屏蔽对视图的DML 操作 |
17 序列
序列 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
2 |
NEXTVAL 返回序列中下一个有效的值,任何用户都可以引用 |
|
CURRVAL 中存放序列的当前值 |
|
NEXTVAL 应在 CURRVAL 之前指定 ,二者应同时有效 |
3 |
序列在下列情况下出现裂缝: 1回滚 2系统异常 3多个表同时使用同一序列 |
18 索引
索引 |
|
|
|
|
|
|
19 同义词
1 |
create synonym hremp for hr.employees; 创建 |
2 |
drop synonym hremp; 删除 |
20 pl/sql
1 |
set serveroutput on 打开Oracle的数据输出开关 |
2 |
desc 包名/表名/存储过程名/存储函数名/程序包 |
|
DBMS_DATAPUMP DBMS_OUTPUT |
3 |
dos命名行复制垂直区域内容 按住alt键的同时选择 |
4 |
select * from user_triggers; 查询触发器 |
|
select * from user_source; 查看过程及函数 |
|
select * from tab; 查询用户下的所有表 |
5 |
drop procedure 过程名; |
6 |
程序结构 |
|
|
7 |
变量 |
|
|
8 |
|
9 |
|
10 |
|
11 |
|
|
|
|
|
12 |
创建存储过程 |
|
|
13 |
调用存储过程 |
|
|
14 |
|
15 |
存储函数的调用 |
|
|
16 |
|
17 |
创建包体 |
|
|
18 |
创建触发器 |
|
|
19 |
|
|
|