中国领先的IT技术网站
|
|

送你51个Oracle常用语句,看了绝不后悔~

本文主要分享51个Oracle常用语句,其中包括连接数据库、查看表结构、查看数据表、将缓冲区中的 sql 语句保存到文件等等,快来看看吧。

作者:Database来源:ITPUB|2017-10-16 18:29

Tech Neo技术沙龙 | 11月25号,九州云/ZStack与您一起探讨云时代网络边界管理实践


送你51个Oracle常用语句,看了绝不后悔~

1, 连接数据库;

connect scott/123456;

断开数据库

disconn;

2, 查看表结构

describe scott.emp;

3, 查看数据表

select empno,job,mgr,sal;

4,将缓冲区中的 sql 语句保存到文件

save scott_emp_query.sql

5,将文件内容读入到缓冲区中

get scott_emp_query.sql list

6,使用 start 命令读取并运行 sql 文件

start scott_emp_query.sql

7, 将缓冲区内容复制到名为 afiedt.buf 文件 (这个是默认文件) 中

edit

8,将输出结果保存到指定文件中

spool scott_emp_outcome.txt append

9, 带变量的语句 &

select empno,ename,mgr,sal,deptno

from scott.emp

where empno >=&temp;

10, 带两个变量的语句 (两次输入)

select &column_name,deptno

from scott.emp

where &column_name>=7850;

11, 带两个变量的语句(一次输入)

select &&column_name ,deptno

from scott.emp

where &&column_name>=7850;

12, 不显示 “原值” 和 “新值” 信息

set veryify off;(on 是显示)

新招: 反斜杠 "/" 再次运行上面的查询

13,设置变量定义字符

set define '@'(设置以后定义变量的字符就变为 @,& 无效)

14,执行 sql 文件的语句

@ E:\TEMP\temp.sql (此处应当注意,路径是区分大小写的)

15,使用 define 查看常量

define;

16, 设置常量

define temp=7850

查看常量

define temp

删除常量

undefine temp

17, 使用 column 设置输出格式

column empno heading '员工编号' format 9999column ename heading '员工姓名' format a10column mgr heading '上级编号' format 9999column hiredate heading '受雇日期' justfify centercolumn sal heading '员工工资' format $999,999.99select empno,ename,mgr,hiredate,salfrom scott.emp;

18, 设置一页显示多少行数据

set pagesize 20

19, 设置一行显示多少字符

set linesize 20

20, 设置页眉页脚

ttitle 页眉, btitle 页脚

21,break 命令用来分组,compute 命令用来计算和

break on deptno;

compute sum of sal on deptno;

select empno,ename,mgr,sal,deptno

from scott.emp order by deptno;

22, 清除 column 格式

clear columns

23, 创建永久性表空间

create tablespace myspace

datafile '文件路径'

size 文件大小

autoextend on next 自动增加大小

maxsize 文件最大值

语法说明:1,temporary|undo(创建撤销表空间)2,teblespace_name 3,datafile|tempfile'file_name'4,size5,reuse 若存在,则删掉并重新创建6,autoextend off|on7,next number 自动扩展的大小8,maxsize unlimited|number 指定数据文件最大大小9,mininum extent number 盘区可以分配到的最小尺寸10,blocksize number 设置数据块大小11,online|offline 12,logging|nologging13,force logging 强制表空间数据库对象任何操作都产生日志,否定 1214,default storage storage 指定保存在表空间中的数据库对象默认存储参数15,compress|nocompress 是否压缩数据(消除列中的重复值)16,permanent|temporary 指定表空间中数据的保存形式17,extent management dictionary(数据字典形式管理)|local(本地化形式管理)18,autoallocate|uniform size number 右边为指定表中盘区大小 19,segment space management auto |manual 指定表空间中段的管理方式

24,查看表空间属性

select * from dba_tablespace wheretablespace_name='表空间名';

25, 修改表空间状态

alter tablespace 表空间名 表空间状态;

26,修改表空间名字

alter tablespace 表空间名 1 rename to 表空间名 2;

27,利用数据字典查看空闲空间信息

select * from dba_free_space where tablespace_name='表空间名称';

28, 利用数据字典查看表空间数据文件信息

select * from dba_data_files wheretablespace_name='表空间名称';

29, 修改表空间对应的数据文件大小

alter database

datafile '表空间文件路径名称'

resize 大小

30, 为表空间增加新的数据文件

alter tablespace myspace

add datafile '数据文件路径名称'

size 大小

autoextend on next 自增大小 maxsize 最大值;

31, 删除 myspace 表空间数据文件

alter tablespace myspace

drop datafile '数据文件名称';

32,修改 myspace 表空间中数据文件的自动扩展性

alter database

datafile '表空间文件路径名称'

autoextend off;

33, 设置表空间文件状态为 offline drop

alter database

datafile '表空间路径名称'

offline drop;

34, 移动表空间中的数据文件

(1)alter tablespace 表空间名称 offline; 先设置表空间状态为 offline

(2) 手动操作,将磁盘中的表空间数据文件移动到新的路径

(3) 使用 alter tablespace 语句修改表空间文件路径名称

alter tablespace myspace

rename datafile '表空间路径名称'

to

'新的表空间路径名称';

(4) 修改 myspace 表空间状态

alter tablespace 表空间名称 online;

35, 删除表空间

drop tablespace 表空间名称

including contents and datafiles;

36, 创建临时表空间

create temporary tablespace 表空间名称

tempfile '表空间路径名称'

size 大小

autoextend on next 自增大小 maxsize 最大大小;

37, 创建临时表空间,将所在组指定为 group1

create temporary tablespace 表空间名称

tempfile '表空间路径名称'

size 大小

tablespace group group1;

38, 修改临时表空间组

alter tablespace 临时表空间名称 tablespace group group2;

39, 创建大文件表空间

create bigfile tabliespace mybigspace

datafile '表空间路径名称'

size 大小;

40, 修改默认表空间

alter database default tablespace 表空间名称;

41, 创建事物级临时表

create global temporary table temp_student(

)on commit delete rows(事物级别的意思);

42, 使用事物级别临时表

select * from temp_student;

commit; 提交事物。

提交后表还在,但数据被清除

43, 创建会话临时表

create global temporary table temp_book(

)on commit preserve rows(会话级别的意思);

commit;

断开该用户连接才会清除数据

44,读取外部文件

首先要在对应路径下有文件

然后 create directory external_card as'E:\external';

创建对应路径

接下来就是创建外部表

create table e_card(

对应的数据

)organization external(

// 里边这一团是什么东西噢

type oracle_loader// 指定访问外部数据文件的驱动程序,oracle 默认为 oracle_loader

default directory external_card // 对应上一步路径

access parameters(

fields terminated by ',')

location ('card.txt')

);

45,reject limit 句子的使用

外部表易出错,用这个就允许有无数个错误

create table e_card(

对应的数据

)organization external(

type oracle_loader

default directory external_card

access parameters(

fields terminated by ',')

location ('card.txt')

)reject limit unlimited;

46, 将错误数据存储到指定文件

create table e_card(

对应的数据

)organization external(

type oracle_loader

default directory external_card

access parameters(

records delimited by newline

badfile 'card_bad.txt'

fields terminated by ',')

location ('card.txt')

);

47, 错误信息日志文件

create table e_card(

对应的数据

)organization external(

type oracle_loader

default directory external_card

access parameters(

records delimited by newline

badfile 'card_bad.txt'

logfile 'card_log.txt'

fields terminated by ',')

location ('card.txt')

);

48, 创建范围分区表

create table part_book(

数据库内容

)partition by range(booktime)(

partition part1 values less than ('01-1 月 - 2008')tablespacemytemp1,

partition part2 values less than ('01-1 月 - 2009')tablespacemytemp2,

partition part1 values less than (maxvalue)tablespacemytemp3

)

49, 创建散列分区表

create table part_book(

数据库内容

)partition by hash(bid)(

partition part1 tablespace mytemp1,

partition part2 tablespace mytemp2,

)

50, 创建列表分区表

create table part_book(

数据库内容

)partition by list(bookpress)(

partition part1 values ('清华大学出版社') tablespace mytemp1,

partition part1 values ('岭南师范出版社') tablespace mytemp2

)

51,创建组合范围散列分区表

create table part_book(

数据库内容

)partition by range(booktime)

subpartition by hash(bid)

subpartitions 2 store in(mytemp1,mytemp2)

(

partition part1 values less than ('01-1 月 - 2008'),

partition part1 values less than ('01-1 月 - 2009'),

partition part1 values less than (maxvalue)

);

【编辑推荐】

  1. 深度解读 | 阿里云新一代关系型数据库 PolarDB
  2. SQL Server 2017正式发布;Oracle宣布开源Fn project
  3. 苹果开源iOS内核,全球数据库排名MySQL三连跌
  4. 这些特性,PostgreSQL秒杀其他数据库
  5. Oracle数据库数据丢失?这几种方法教你来恢复~
【责任编辑:庞桂玉 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

大道至简:软件工程实践者的思想

本书是在“思想方法学”这一软件工程尚未涉足过的领域中的实习之作。作者亲历国内软件工程的英雄时代、泡沫时代,从失败中醒觉而创建独特的...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊
× CTO训练营(深圳站)