ORacle必备Sql

1、查找表的所有索引(包括索引名,类型,构成列):

select t.*,i.index_typefromuser_ind_columnst,user_indexes i where t.index_name = i.index_nameandt.table_name = i.table_name and t.table_name = 要查询的表

2、查找表的主键(包括名称,构成列):

select cu.* from user_cons_columns cu, user_constraintsau where cu.constraint_name = au.constraint_name and au.constraint_type = 'P'andau.table_name = 要查询的表

3、查找表的唯一性约束(包括名称,构成列):

select column_name from user_cons_columnscu, user_constraints au where cu.constraint_name = au.constraint_nameandau.constraint_type = 'U' and au.table_name = 要查询的表

4、查找表的外键(包括名称,引用表的表名和对应的键名,下面是分成多步查询):

select * from user_constraints c wherec.constraint_type = 'R' and c.table_name = 要查询的表

查询外键约束的列名:

select * from user_cons_columns cl where cl.constraint_name= 外键名称

查询引用表的键的列名:

select * from user_cons_columns cl wherecl.constraint_name = 外键引用表的键名

5、查询表的所有列及其属性

select t.*,c.COMMENTS from user_tab_columnst,user_col_comments c where t.table_name = c.table_name and t.column_name = c.column_nameandt.table_name = 要查询的表

 

Oracle 表名字段名注释等实用语句

-- 查看ORACLE 数据库中本用户下的所有表

SELECT table_name FROM user_tables;

-- 查看ORACLE 数据库中所有用户下的所有表

selectuser,table_name from all_tables;

-- 查看ORACLE 数据库中本用户下的所有列

selecttable_name,column_name from user_tab_columns;

-- 查看ORACLE 数据库中本用户下的所有列

selectuser,table_name,column_name from all_tab_columns;

-- 查看ORACLE 数据库中的序列号

select * from user_sequences;

-- 上面的所有对象,都可以通过下面的SQL语句查询得到

-- 查询所有的用户生成的ORACLE对象

SELECT * FROM user_objects;

-- 查看ORACLE 数据库中所有表的注释

selecttable_name,comments from user_tab_comments;

-- 查看ORACLE 数据库中所有列的注释

selecttable_name,column_name,comments from user_col_comments;

-- 给表加ORACLE的注释

COMMENT ON TABLE aa10 IS '系统参数表';

-- 给列加ORACLE的注释

COMMENT ON COLUMN aa10.aaa100 IS '参数类别';

-- 查看表中列的属性,包括数据类型,是否非空等

DESC aa10;

-- 通过系统表,查看表中列的属性,包括数据类型,是否非空等

SELECT table_name,COLUMN_ID,column_name,data_type,data_length,DATA_PRECISION,NULLABLE

FROM user_tab_columns

ORDER BY table_name,COLUMN_ID;

--查看所有表空间

selecttablespace_name,sum(bytes)/1024/1024 from dba_data_files  group by tablespace_name

--查看未使用表空间大小

selecttablespace_name,sum(bytes)/1024/1024 from dba_free_space group bytablespace_name;

 

-- 查看数据库中表、索引占用的数据库空间大小

SELECT * FROM user_segments;

-- 查看所有表的记录数

CREATE TABLE table_count(table_name VARCHAR2(50),columns NUMBER(20));

-- 通过PB运行下面的语句,得到结果集,将结果集在PB下执行,最后提交

select 'insert into table_count values('''||table_name||''', (select count(1)from '||table_name||'));//'||comments from user_tab_comments;

-- 所有表的记录都在table_count

SELECT * FROM table_count;

// ORACLE数据库的注释同步到PB中代码开始

DELETE FROM PBCATCOL WHERE PBC_TNAM LIKE '%';

DELETE FROM PBCATTBL WHERE PBT_TNAM LIKE '%';

 

INSERT INTO PBCATTBL

( PBT_TNAM,

PBT_OWNR ,

PBT_CMNT)

SELECT ALL_TAB_COMMENTS.TABLE_NAME,

ALL_TAB_COMMENTS.OWNER,

ALL_TAB_COMMENTS.COMMENTS

FROM ALL_TAB_COMMENTS

WHERE ALL_TAB_COMMENTS.OWNER = 'LH'

AND TABLE_NAME LIKE '%';

 

// 同步字段名

INSERT INTO PBCATCOL

( PBC_TNAM,

PBC_OWNR,

PBC_CNAM,

PBC_LABL,

PBC_CMNT,

PBC_HDR)

SELECT ALL_COL_COMMENTS.TABLE_NAME,

ALL_COL_COMMENTS.OWNER,

ALL_COL_COMMENTS.COLUMN_NAME,

ALL_COL_COMMENTS.COMMENTS ,

ALL_COL_COMMENTS.COMMENTS ,

ALL_COL_COMMENTS.COMMENTS

FROM ALL_COL_COMMENTS

WHERE ALL_COL_COMMENTS.OWNER = 'LH'

AND TABLE_NAME LIKE '%';

COMMIT;

-- ORACLE数据库的注释同步到PB中代码结束

 

--PB注释同步到ORACLE

select 'comment on table '||pbt_tnam||' is '''||pbt_cmnt||''';' from pbcattblwherepbt_tnam not like 'PB%'

UNION

select 'comment on column '||pbc_tnam||'.'||pbc_cnam||' is '''||pbc_cmnt||''';'from pbcatcol where pbC_tnam not like 'PB%';

 

--查进程

selectobject_id,session_id,locked_mode from v$locked_object;

selectt2.username,t2.sid,t2.serial#,t2.logon_time

fromv$locked_object t1,v$session t2

where t1.session_id=t2.sid order by t2.logon_time;

--杀进程

alter system kill session '3,6666';

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jarry.liu

如果对您有帮助,鼓励下博主吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值