Oracle常用SQL语句(持续更新)
1.创建Oracle用户并指定表空间的SQL语句//创建临时表空间 //创建数据表空间 //创建用户并指定表空间 //给用户授予权限 2.创建Oracle序列CREATE SEQUENCE SEQ_EXP -- 序列名 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; 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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |