Oracle 常用Sql 语句
Oracle数据库常常被用作项目开发的数据库之一;有时隔段时间没使用就会忘记一些常用的sql语法,所以我们有必要记录下常用的sql 语句,当我们需要时可以快速找到并运用。
1 创建表空间、创建用户及授权
1:创建临时表空间
create temporary tablespace user_temp
tempfile 'Q:\oracle\product\10.2.0\oradata\Test\xyrj_temp.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
2:创建数据表空间
create tablespace user_data
logging
datafile 'Q:\oracle\product\10.2.0\oradata\Test\xyrj_data.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local; 第3步:创建用户并指定表空间
create user username identified by password
default tablespace user_data
temporary tablespace user_temp; 第4步:给用户授予权限
grant connect,resource,dba to username;
临时表空间作用:
临时表空间用来管理数据库排序操作以及用于存储临时表、中间排序结果等临时对象,当ORACLE里需要用到SORT的时候,并且当PGA中sort_area_size大小不够时,将会把数据放入临时表空间里进行排序。像数据库中一些操作: CREATE INDEX、 ANALYZE、SELECT DISTINCT、ORDER BY、GROUP BY、 UNION ALL、 INTERSECT、MINUS、SORT-MERGE JOINS、HASH JOIN等都可能会用到临时表空间。当操作完成后,系统会自动清理临时表空间中的临时对象,自动释放临时段。这里的释放只是标记为空闲、可以重用,其实实质占用的磁盘空间并没有真正释放。这也是临时表空间有时会不断增大的原因;
详细请参考http://www.cnblogs.com/kerrycode/p/4006840.html
2 导出exp 与导入imp 命令行说明
- exp导出数据
 
exp help=y 查看参数
1、全库方式,导出整个数据库中所有的对象,但并不包括sys用户中的对象
exp user/pwd@db_name full=y file=D:\database.dmp log=D:\database.log
2、用户方式:导出某一用户下所有的对象,授权了权限的用户可以导出其他用户所拥有的对象。作为全库导出的补充应用
exp user/pwd@db_name owner=(system,sys) file=D:\owner.dmp log=D:\owner.log
3、表方式:只导出某一用户下指定的表,而不是所有的表。
exp user/pwd@db_name tables=(tb1,tb2) file= D:\table.dmp
4、条件导出:将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp user/pwd@db_name tables=(table1) query=" where filed1 like '00%'" file=D:\query.dmp log=d:\query.log
只导出表前200行数据
exp user/pwd@db_name tables=(table1) query="'where rownum<=200'"
用这个语句查询你某一模式下的所有表
SELECT object_name||',' as user_object
     from user_objects where object_type='TABLE';
- imp导入
 
同导出exp一样具有三种模式(完全、用户、表)
1、全部导入
imp user/pwd@db_name file=D:\database.dmp log=d:\impdatabase.log full=y ignore=y
  2、imp user/pwd@db_name  file=D:\database.dmp  FROMUSER=user TOUSER=user 
          这样用户user的所有对象被导入到文件中。必须指定FROMUSER、TOUSER参数,这样才能导入数据
  3、选择表导入 将D:\table.dmp中的表table1 导入
   imp user/pwd@db_name file=D:\table.dmp log=d:\imptable.log tables=(table1)
如果源表已经存在,导入时报错。在后面加上 ignore=y 就可以了。ignore作用是忽略错误继续导入的意思;不少情况要先是将表彻底删除,然后导入。
Oracle创建directory
一般创建directory都是为了用数据泵导入/导出数据用
1、新建directory的语法
CREATE [OR REPLACE] DIRECTORY directory AS 'pathname';
例如:
create or replace directory dump_dir as 'D:\dump\dir'
这样把目录d:\dump\dir设置成dump_dir代表的directory
2、查询有哪些directory
select * from dba_directories
oracle 删除某个用户下的所有对象
drop user user_name cascade;
加了cascade就可以把用户连带的数据全部删掉
创建Database links 跨库访问
create public database link SBLINK
connect to DGTEST
using '(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.102)(PORT = ))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
)
)';
oracle存储过程访问其它用户表权限不足,为用户设置可以访问所有表的权限
GRANT SELECT ANY TABLE TO user WITH ADMIN OPTION
其他常用语句
查看某张表是否被其他对象引用
select * from user_dependencies where referenced_name='表名'
这里表名是有区分大小写的,必须跟表名一致才能查到数据。
oracle查询某张表被其它表作为外键
select c.table_name,
c.constraint_name,
fc.table_name,
fc.constraint_name,
cc.column_name,
fcc.column_name
from user_cons_columns fcc,
user_cons_columns cc,
user_constraints c,
user_constraints fc
where fc.constraint_name = c.r_constraint_name
and fc.constraint_name = fcc.constraint_name
and c.constraint_name = cc.constraint_name
and c.constraint_type = 'R'
and fc.table_name in ('tb_user')
Oracle 常用Sql 语句的更多相关文章
- oracle常用SQL语句(汇总版)
		
Oracle数据库常用sql语句 ORACLE 常用的SQL语法和数据对象一.数据控制语句 (DML) 部分 1.INSERT (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, ...
 - oracle 常用sql语句
		
oracle 常用sql语句 1.查看表空间的名称及大小 select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_sizefrom d ...
 - Oracle常用SQL语句大全
		
常用Oracle数据库SQL语句汇总. 1.常用操作 --清空回收站purge recyclebin;--查询回收站select * from recyclebin--查询Oracle版本信息sele ...
 - Oracle常用sql语句(一)
		
# Sql的分类 # DDL (Data Definition Language):数据定义语言,用来定义数据库对象:库.表.列等: CREATE. ALTER.DROP DML(Data Manip ...
 - Oracle常用sql语句。
		
最近工作中遇到了一些与oracle相关的问题,稍微整理一些工作中用到的SQL语句 时间相关 --查询距当前时间十分钟内的数据 select sysdate -interval '10' minute ...
 - Oracle常用SQL语句
		
--2.查看表结构 desc wx_monitor_excption; --3.从表中查询数据 select * from wx_monitor_excption; --7.双引号保持原来的格式 se ...
 - Oracle常用sql语句(二)之组函数、多表查询
		
DML(数据操纵语言) INSERT .UPDATE. DELETE 插入操作:INSERT: 语法: INSERT INTO 表名(列名1,列名2 ...)VALUES(列值1,列值2...); 注 ...
 - oracle常用sql语句和函数
		
--查询表的字段数 select count(*) from user_tab_columns where table_name = '表名'; --查询数据库用户密码的profile(一般为defa ...
 - Oracle常用sql语句(三)之子查询
		
子查询 子查询要解决的问题,不能一步求解 分为: 单行子查询 多行子查询 语法: SELECT select_list FROM table WHERE expr operator (SELECT s ...
 
随机推荐
- SSM+Maven+MySQL实现简易的挂机修仙页游
			
一段时间没有写过SSM的项目了,最近重新整合框架做了一个小Demo 学Java的萌新可以看一看:大佬呢,欢迎指出不足! 我一直钟爱挂机类游戏,同时也喜欢修仙和武侠小说,于是突发奇想,自己搞一个小游戏? ...
 - flex布局基本语法
			
注 : 本文章按照菜鸟教程 Flex布局语法教程为原型稍加修改,以方便自己学习. 菜鸟教程地址:http://www.runoob.com/w3cnote/flex-grammar.html 2009 ...
 - ArcGIS API for JavaScript 4.x 本地部署之IIS法
			
[导读] 关于如何在默认网站(Default Web Site,物理地址C:\inetpub\wwwroot\)启动,已有很多博客详尽地写好了. 本篇在自建网站(本机)中配置http而非https的j ...
 - Activity简介
			
声明周期 4种状态 running / paused / stopped / killed 声明周期 activity启动 --->onCreate() -->onStart()---& ...
 - sqlserver2014无法打开报Cannot find one or more components_修复方案
			
前言:我跟网上大家的原因基本一样,就是好久没用sqlserver了,中间也对VS进行过卸载升级等,突然有一天发现,打开Sqlserver时打不开了,出了一个弹框:Cannot find one or ...
 - postgresql 使用pg_restore时显示role "root" does not exist的解决办法
			
在docker里恢复bakcup格式的数据库,结果提示role "root" does not exist 解决方法: 切换用户: su - postgres 然后再次运行命令: ...
 - ASP.NET Aries 高级开发教程:Excel导入配置之规则说明(下)
			
前言: 前面两篇都是大体介绍流程,有一些配置细节,没有细说,这里用一篇补上. 1.Excel配置项 起始行索引.列头跨行数: 对于自定义的Excel导入模板(有时候模板是由客户提供,模板的规则很乱) ...
 - MVC详解:mvc是什么?为什么要用MVC?MVC工作原理以及MVC优缺点
			
一.什么是MVC Model:模型层 View:视图层 Controller:控制层 MVC (Modal View Controler)本来是存在于Desktop程序中的,M是指数据模型,V是指用户 ...
 - 每日分享!~ JavaScript(js数组如何在指定的位置插入一个元素)
			
这个想法是在一个面试题中看到的: 题目是这样的: // 一个数组,在指定的index 位置插入一个元素,返回一个新的数组,不改变原来的数组 <script> function inse ...
 - Spring Cloud Eureka 常用配置详解,建议收藏!
			
前几天,栈长分享了 <Spring Cloud Eureka 注册中心集群搭建,Greenwich 最新版!>,今天来分享下 Spring Cloud Eureka 常用的一些参数配置及说 ...