Oracle常用SQL语句(持续更新)

1.创建Oracle用户并指定表空间的sql语句

//创建临时表空间
create temporary tablespace exp_temp
tempfile 'C:\exp_temp.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;

//创建数据表空间
create tablespace exp_data
logging
datafile 'C:\exp_data.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;

//创建用户并指定表空间
create user exp identified by exp
default tablespace exp_data
temporary tablespace exp_temp;

//给用户授予权限
grant connect,resource,dba to exp;

2.创建Oracle序列

CREATE SEQUENCE SEQ_EXP -- 序列名
INCREMENT BY 1 -- 自增 1
START WITH 1 -- 初始 1
NOMAXVALUE -- 不设置最大值
NOCYCLE -- 不循环
CACHE 10; -- 缓存区

3.Oracle导入/出dmp文件

imp username/password@127.0.0.1:1521/orcl file=D:\imp.dmp full=y

exp username/password@127.0.0.1:1521/orcl file=D:\exp.dmp (full=y/owner=exp/tables=exp)

4.增删改Oracle列

添加字段的语法:alter table tablename add (column datatype [default value][null/not null],….);

修改字段的语法:alter table tablename modify (column datatype [default value][null/not null],….);

删除字段的语法:alter table tablename drop (column,....);

说明:[]为可选,/为或者,(,...)为可多列

5.Oracle用户授权

grant dba(等相关权限) to user

6.修改序列值

alter sequence exp_seq increment by -1;
select exp_seq.nextval from dual;
alter sequence exp_seq increment by 1;

7.恢复到指定时间点数据

1.select * from tableName as of timestamp to_timestamp('2017-02-14 15:30:00','yyyy-mm-dd hh24:mi:ss');

2.alter table tableName enable row movement;

3.flashback table tableName to timestamp to_timestamp('2017-02-14 15:30:00','yyyy-mm-dd hh24:mi:ss');

注意:对记录进行“误”操作后,再修改表结构是无法进行闪回的。

8.更新字符串中的部分字符

update tableName t set t.column = replace(t.column,'源字符串','目字符串')

9.关联表涉及字段更新

update tableName t set t.column = (select column from tableName2 t2 where t.id = t2.id)

where t.id in (select id from tableName t,tableName2 t2 where t.id = t2.id)

10.Oracle实现indexOf与lastIndexOf功能

INSTR的第3个参数为1对应indexOf,-1为lastIndexOf

例子:INSTR(column,'_',1/-1,1);

11.Oracle删除指定用户下的所有数据

第一步:用超级管理员登陆oracle“conn / as sysdbaconn / as sysdba”
第二步:删除指定的用户“drop user username cascade”
第三步:重新创建此用户 “create user username identified by password;
第四步:给用户授权"grant dba to username "
第五步:登陆指定用户”conn username /password“

12.Oracle查找重复数据

select column,count(1) from tableName group by column having count(1) > 1

相关文章

数据库版本:11.2.0.4 RAC(1)问题现象从EM里面可以看到,在23号早上8:45~8:55时,数据库等待会话暴增...
(一)问题背景最近在对一个大约200万行数据的表查看执行计划时,发现存在异常,理论上应该返回100多万...
(一)删除备份--DELETE命令用于删除RMAN备份记录及相应的物理文件。当使用RMAN执行备份操作时,会在RM...
(1)DRA介绍 数据恢复顾问(Data Recovery Advise)是一个诊断和修复数据库的工具,DRA能够修复数据文...
RMAN(Recovery Manager)是Oracle恢复管理器的简称,是集数据库备份(backup)、修复(restore)和恢复...
(1)备份对象 可以使用RMAN进行的备份对象如下: --整个数据库:备份所有的数据文件和控制文件; --数...