Oracle数据库常用SQL集合

 

目录

常用SQL大全

存储过程

分区


常用SQL大全

Oracle登录命令

sqlplus 用户名/密码@10.10.10.10:1521/orcl

查看当前用户的所有表

select table_name from tabs;

Oracle查询前5条数据

WHERE ROWNUM <= N(抽出记录数) ORDER BY ROWNUM ASC

Oracle查询指定用户下的所有表

select TABLE_NAME from all_tables a where a.OWNER = upper('数据库用户名');

Oracle查看数据库名称

select  name from v$database;

Oracle查看实例名称(sid实例名)

select instance_name from v$instance;

Oracle查看服务名称

show parameter serive_name;

Oracle导出查询结果

spool /user/result.txt(导出路径)
   select phone from t_mt where state_true='0';(查询sql)
spool off

Oracle怎样查询表中的top10条记录

select * from test where rownum <=10;

Oracle查看账号密码过期时间

select username,expiry_date from dba_users where username in ('用户名');

Oracle查看当前用户的索引

select * from user_part_indexes;

Oracle查看连接窜

show parameter name;

Oracle查看某条sql耗时

set timing on;(再输入查询的SQL)

Oracle查询默认的密码保存时间

SELECT PROFILE,RESOURCE_NAME,RESOURCE_TYPE,LIMIT FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';   

Oracle查看已建的索引

SELECT count(0) FROM ALL_INDEXES WHERE TABLE_NAME='索引名称';

Oracle 查看表空间大小及使用率

SELECT UPPER(F.TABLESPACE_NAME),D.TOT_GROOTTE_MB,D.TOT_GROOTTE_MB,F.TOTAL_BYTES,TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100, 2),'990.99'), F.TOTAL_BYTES, F.MAX_BYTES FROM (SELECT TABLESPACE_NAME,ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES FROM SYS.DBA_FREE_SPACE GROUP BY TABLESPACE_NAME) F,(SELECT DD.TABLESPACE_NAME,ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB FROM SYS.DBA_DATA_FILES DD GROUP BY DD.TABLESPACE_NAME) D WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME ORDER BY 4 DESC;

修改表字段长度

#alter table...modify
alter table 表名 modify col_name varchar2(60);
#修改多个列
alter table 表名 modify (col_name varchar(60),col_name1 varchar2(60));

存储过程

 Oracle查看存储过程

select text from all_source where name = '存储过程名称';

SELECT text
    FROM user_source
   WHERE NAME = 'Procedure Name'
ORDER BY line;--其中Procedure Name为存储过程名字,需要全部用大写英文。

PLSQL查看存储过程

#切换SQL窗口,输入:view+存储过程名称
view HEPAYHIS.CCGIM

分区

删除指定分区

#只会清空分区数据,不会删除分区
alter table 表名 truncate partition分区名 (推荐使用)
#连数据分区一起删除清空
alter table 表名 drop partition 分区名; (慎用)

查看某一分区的数据量

#select .....partition(分区名);
select count(*) from 表名 partition(分区名);

查看某表分区明细

SELECT PARTITION_NAME
  FROM ALL_TAB_PARTITIONS t
 WHERE t.TABLE_OWNER = '用户名'
   and substr(t.PARTITION_NAME, 3, 4) in ('截图分区账期')
   and t.table_name in ('表名');

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值