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