如何在oracle中查询所有用户表的表名、主键名称、索引、外键等+
oracle中查询表的信息,包括表名,字段名,字段类型,主键(精)
通过搜索摸索,总结了一下 oracle 中查询表的信息,包括表名,字段名,字段类型,主键, 外键唯一性约束信息,索引信息查询 SQL 如下,希望对大家有所帮助:1、查询出所有的用户表select * from user_tables 可以查询出所有的用户表select owner,table_name from all_tables; 查询所有表,包括其他用户表通过表名过滤需要将字母作如下处理select * from user_tables where table_name = upper('表名 '因为无论你建立表的时候表名名字是大写还是小写的, create 语句执行通过之后,对应的 user_tables表中的 table_name字段都会自动变为大写字母, 所以必须通过内置函数 upper 将字符串转化为大写字母进行查询, 否则, 即使建表语句执行通过之后, 通过上面的查询语句仍然查询不到对应的记录。
2、查询出用户所有表的索引select * from user_indexes3、查询用户表的索引 (非聚集索引 :select * from user_indexes where uniqueness='NONUNIQUE'4、查询用户表的主键 (聚集索引 :select * from user_indexes where uniqueness='UNIQUE'5、查询表的索引select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name = i.index_name andt.table_name='NODE'6、查询表的主键select cu.* from user_cons_columns cu, user_constraints au wherecu.constraint_name = au.constraint_name andau.constraint_type = 'P' AND cu.table_name = 'NODE'7、查找表的唯一性约束(包括名称,构成列:select column_name from user_cons_columns cu, user_constraints au wherecu.constraint_name=au.constraint_name andcu.table_name='NODE'8、查找表的外键select * from user_constraints c where c.constraint_type = 'R' andc.table_name='STAFFPOSITION'查询外键约束的列名:select * from user_cons_columns cl where cl.constraint_name = 外键名称查询引用表的键的列名:select * from user_cons_columns cl where cl.constraint_name = 外键引用表的键名9、查询表的所有列及其属性方法一:select * from user_tab_columns where table_name=upper('表名 ';方法二:select cname,coltype,width from col where tname=upper('表名 ';;10. 查询一个用户中存在的过程和函数select object_name,created,status from user_objectswhere lower(object_type in ('procedure','function';11. 查询其它角色表的权限select * from role_tab_privs ;。
Oracle 常用数据字典、外键查询
查看当前用户的角色
SQL>select * from user_role_privs;
查看当前用户的系统权限和表级权限
SQL>select * from user_sys_privs;
SQL>select * from user_tab_privs;
显示当前会话所具有的权限
from user_constraints a, user_cons_columns b
WHERE a.constraint_type='R'
and
a.r_constraint_name=b.constraint_name)
b
where a.r_constraint_name=b.r_constraint_name
SQL>select index_name,index_type,table_name from user_indexes order by table_name;
查看索引被索引的字段
SQL>select * from user_ind_columns where index_name=upper('&index_name'); 外键查询
select a.table_name 外键表名,a.column_name 外键列名,b.table_name 主键表名,b.column_name 主键列名
from
(select a.constraint_name,b.table_name,b.column_name,a.r_constraint_name
SQL>select * from session_privs;
查询oracle中所有用户信息
select object_name,created from user_objects where object_name='ZW_YINGYEZ'
查看某表的大小
select sum(bytes)/(1024*1024) tablesize from user_segments
显示当前会话所具有的权限
select * from session_privs
显示指定用户所具有的系统权限
select * from dba_sys_privs
显示特权用户
select * from v$pwfile_users
查看名称包含log字符的表
select object_name,object_id from user_objects where instr(object_name,'log')>0
select * from dba_varrays;
5. 查询数据库中所有视图的文本
select * from dba_views;
查看当前用户的缺省表空间
select username,default_tablespace from user_users
查看当前用户的角色
select * from user_role_privs
1. 查询oracle中所有用户信息
select * from dba_users;
2. 只查询用户和密码
select username,password from dba_users;
3. 查询当前用户信息
select * from dba_ustats;
oracle数据库中查看用户名的方法
Oracle数据库中查看用户名的方法1.引言在Or ac le数据库中,用户名是用于标识数据库用户身份的重要信息。
通过正确的方法查看用户名,可以帮助管理员或开发人员更有效地管理和维护数据库。
本文将介绍几种常用的方法来查看O ra cl e数据库中的用户名。
2.使用系统视图查看用户名O r ac le数据库提供了一些系统视图,可以方便地查看用户信息。
以下是几个常用的系统视图及其用途:2.1.D B A_U S E R S视图D B A_US ER S视图包含了数据库中所有用户的详细信息。
使用该视图可以查看用户名、用户类型、是否临时用户等信息。
S E LE CT us er na me,us e r_id,a cc ou nt_st a tu sF R OM db a_us er s;2.2.A L L_U S E R S视图A L L_US ER S视图包含了当前用户有访问权限的所有用户信息。
使用该视图可以查看用户名、用户类型等信息。
S E LE CT us er na me,us e r_idF R OM al l_us er s;2.3.U S E R_U S E R S视图U S ER_U SE RS视图包含了当前用户的详细信息。
使用该视图可以查看当前用户的用户名、用户类型等信息。
S E LE CT us er na me,us e r_idF R OM us er_u se rs;3.使用SQ L语句查看用户名除了使用系统视图外,还可以通过SQ L语句直接查询数据库来查看用户名。
以下是几个基本的SQ L语句示例:3.1.查询所有用户名S E LE CT DI ST IN CT use r na meF R OM al l_us er s;3.2.查询当前用户的用户名S E LE CT us erF R OM du al;3.3.查询指定用户的用户名S E LE CT us er na meF R OM db a_us er sW H ER Eu se rn am e='指定用户名';4.使用PL/SQL块查看用户名除了使用SQ L语句外,还可以使用P L/S Q L块来查看用户名。
Oracle中查看所有的表,用户表,列名,主键,外键
在Oracle中查看所有的表:select * from tab/dba_tables/dba_objects/cat;看用户建立的表 :selecttable_name from user_tables; //当前用户的表selecttable_name from all_tables; //所有用户的表selecttable_name from dba_tables; //包括系统表select * from user_indexes //可以查询出所有的用户表索引查所有用户的表在all_tables主键名称、外键在all_constraints索引在all_indexes但主键也会成为索引,所以主键也会在all_indexes里面。
具体需要的字段可以DESC下这几个view,dba登陆的话可以把all换成dba1、查找表的所有索引(包括索引名,类型,构成列):select t.*,i.index_type from user_ind_columnst,user_indexesi where t.index_nam e = i.index_name and t.table_name = i.table_name and t.table_name = 要查询的表2、查找表的主键(包括名称,构成列):select cu.* from user_cons_columns cu, user_constraints au where cu.constraint _name = au.constraint_name and au.constraint_type = 'P' and au.table_name = 要查询的表3、查找表的唯一性约束(包括名称,构成列):selectcolumn_name from user_cons_columns cu, user_constraints au where cu. constraint_name = au.constraint_name and au.constraint_type = 'U' and au.table _name = 要查询的表4、查找表的外键(包括名称,引用表的表名和对应的键名,下面是分成多步查询):select * from user_constraints c where c.constraint_type = 'R' and c.table_name = 要查询的表查询外键约束的列名:select * from user_cons_columns cl where cl.constraint_name = 外键名称查询引用表的键的列名:select * from user_cons_columns cl where cl.constraint_name = 外键引用表的键名5、查询表的所有列及其属性select t.*,MENTS from user_tab_columnst,user_col_comments c where t.t able_name = c.table_name and t.column_name = c.column_name and t.table_na me = 要查询的表。
查看Oracle当前用户下的(表视图,同义词...)
查看Oracle当前⽤户下的(表视图,同义词...)查看Oracle当前⽤户下的信息(⽤户,表视图,索引,表空间,同义词,存储过程函数,约束条件)0、表空间 SQL>select username,default_tablespace from user_users; 查看当前⽤户的⾓⾊ SQL>select * from user_role_privs; 查看当前⽤户的系统权限和表级权限 SQL>select * from user_sys_privs; SQL>select * from user_tab_privs; 查看⽤户下所有的表 SQL>select * from user_tables; 1、⽤户 查看当前⽤户的缺省表空间 SQL>select username,default_tablespace from user_users; 查看当前⽤户的⾓⾊ SQL>select * from user_role_privs; 查看当前⽤户的系统权限和表级权限 SQL>select * from user_sys_privs; SQL>select * from user_tab_privs; 显⽰当前会话所具有的权限 SQL>select * from session_privs; 显⽰指定⽤户所具有的系统权限 SQL>select * from dba_sys_privs where grantee='GAME'; 2、表 查看⽤户下所有的表 SQL>select * from user_tables; 查看名称包含log字符的表 SQL>select object_name,object_id from user_objects where instr(object_name,'LOG')>0; 查看某表的创建时间 SQL>select object_name,created from user_objects where object_name=upper('&table_name'); 查看某表的⼤⼩ SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments where segment_name=upper('&table_name'); 查看放在ORACLE的内存区⾥的表 SQL>select table_name,cache from user_tables where instr(cache,'Y')>0; 3、索引 查看索引个数和类别 SQL>select index_name,index_type,table_name from user_indexes order by table_name; 查看索引被索引的字段 SQL>select * from user_ind_columns where index_name=upper('&index_name'); 查看索引的⼤⼩ SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments where segment_name=upper('&index_name'); 4、序列号 查看序列号,last_number是当前值 SQL>select * from user_sequences; 5、视图 查看视图的名称 SQL>select view_name from user_views; 查看创建视图的select语句 SQL>set view_name,text_length from user_views; SQL>set long 2000; 说明:可以根据视图的text_length值设定set long 的⼤⼩ SQL>select text from user_views where view_name=upper('&view_name'); 6、同义词 查看同义词的名称 SQL>select * from user_synonyms; 7、约束条件 查看某表的约束条件 SQL>select constraint_name, constraint_type,search_condition, r_constraint_name from user_constraints where table_name = upper('&table_name'); SQL>select c.constraint_name,c.constraint_type,cc.column_name from user_constraints c,user_cons_columns cc where c.owner = upper('&table_owner') and c.table_name = upper('&table_name') and c.owner = cc.owner and c.constraint_name = cc.constraint_name order by cc.position; 8、存储函数和过程 查看函数和过程的状态 SQL>select object_name,status from user_objects where object_type='FUNCTION'; SQL>select object_name,status from user_objects where object_type='PROCEDURE'; 查看函数和过程的源代码 SQL>select text from all_source where owner=user and name=upper('&plsql_name');9、查看建表语句:SELECT DBMS_METADATA.GET_DDL('TABLE','TABLE_NAME')FROM DUAL; (表名TABLE_NAME⼀定要来⼤写)。
查询oracle中所有用户信息(转)
查询oracle中所有⽤户信息(转)----查询oracle中所有⽤户信息----1、查询数据库中的表空间名称----1)查询所有表空间select tablespace_name from dba_tablespaces;select tablespace_name from user_tablespaces;----2)查询使⽤过的表空间select distinct tablespace_name from dba_all_tables;select distinct tablespace_name from user_all_tables;----2、查询表空间中所有表的名称select * from dba_all_tables where tablespace_name = 'SYNC_PLUS_1' and owner='GDSDCZJ'----3、查询系统⽤户select * from all_usersselect * from dba_users----4、查看当前连接⽤户select * from v$session----5、查看当前⽤户权限select * from session_privs----6、查看所有的函数和存储过程select * from user_source----其中TYPE包括:PROCEDURE、FUNCTION----7、查看表空间使⽤情况select sum(Bytes_size) from (select a.file_id "FileNo",a.tablespace_name "表空间",a.bytes/1024/1021/1024 Bytes_size,a.bytes - sum(nvl(b.bytes, 0)) "已⽤",sum(nvl(b.bytes, 0)) "空闲",sum(nvl(b.bytes, 0)) / a.bytes * 100 "空闲百分率"from dba_data_files a, dba_free_space bwhere a.file_id = b.file_id(+)group by a.tablespace_name, a.file_id, a.bytesorder by a.tablespace_name);---------------------------------------------------------1.查看所有⽤户:select * from dba_users;select * from all_users;select * from user_users;----2.查看⽤户或⾓⾊系统权限(直接赋值给⽤户或⾓⾊的系统权限):select * from dba_sys_privs;select * from user_sys_privs; (查看当前⽤户所拥有的权限)----3.查看⾓⾊(只能查看登陆⽤户拥有的⾓⾊)所包含的权限sql>select * from role_sys_privs;----4.查看⽤户对象权限:select * from dba_tab_privs;select * from all_tab_privs;select * from user_tab_privs;----5.查看所有⾓⾊:select * from dba_roles;----6.查看⽤户或⾓⾊所拥有的⾓⾊:select * from dba_role_privs;select * from user_role_privs;----7.查看哪些⽤户有sysdba或sysoper系统权限(查询时需要相应权限)select * from V$PWFILE_USERS----8.SqlPlus中查看⼀个⽤户所拥有权限SQL>select * from dba_sys_privs where grantee='username';其中的username即⽤户名要⼤写才⾏。
oracle查询表信息(索引,外键,列等)
oracle查询表信息(索引,外键,列等)oracle中查询表的信息,包括表名,字段名,字段类型,主键,外键唯⼀性约束信息,索引信息查询SQL如下,希望对⼤家有所帮助:1、查询出所有的⽤户表select * from user_tables 可以查询出所有的⽤户表select owner,table_name from all_tables; 查询所有表,包括其他⽤户表通过表名过滤需要将字母作如下处理select * from user_tables where table_name = upper('表名')因为⽆论你建⽴表的时候表名名字是⼤写还是⼩写的,create语句执⾏通过之后,对应的user_tables表中的table_name字段都会⾃动变为⼤写字母,所以必须通过内置函数upper将字符串转化为⼤写字母进⾏查询,否则,即使建表语句执⾏通过之后,通过上⾯的查询语句仍然查询不到对应的记录。
2、查询出⽤户所有表的索引select * from user_indexes3、查询⽤户表的索引(⾮聚集索引):select * from user_indexes where uniqueness='NONUNIQUE'4、查询⽤户表的主键(聚集索引):select * from user_indexes where uniqueness='UNIQUE'5、查询表的索引select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name = i.index_name andt.table_name='NODE'6、查询表的主键select cu.* from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name andau.constraint_type = 'P' AND cu.table_name = 'NODE'7、查找表的唯⼀性约束(包括名称,构成列):select column_name from user_cons_columns cu, user_constraints au where cu.constraint_name=au.constraint_name andcu.table_name='NODE'8、查找表的外键select * from user_constraints c where c.constraint_type = 'R' and c.table_name='STAFFPOSITION'查询外键约束的列名:select * from user_cons_columns cl where cl.constraint_name = 外键名称查询引⽤表的键的列名:select * from user_cons_columns cl where cl.constraint_name = 外键引⽤表的键名9、查询表的所有列及其属性⽅法⼀:select * from user_tab_columns where table_name=upper('表名');⽅法⼆:select cname,coltype,width from col where tname=upper('表名');;10.查询⼀个⽤户中存在的过程和函数select object_name,created,status from user_objectswhere lower(object_type) in ('procedure','function');11.查询其它⾓⾊表的权限select * from role_tab_privs ;查看索引个数和类别select * from user_indexes where table_name='表名' ;查看索引被索引的字段SQL>select * from user_ind_columns where index_name=upper('&index_name');PS:查看某表的约束条件SQL>select constraint_name, constraint_type,search_condition, r_constraint_name from user_constraints where table_name = upper('&table_name');SQL>select c.constraint_name,c.constraint_type,cc.column_namefrom user_constraints c,user_cons_columns ccwhere c.owner = upper('&table_owner') and c.table_name = upper('&table_name') and c.owner = cc.owner and c.constraint_name = cc.constraint_nameorder by cc.position;查看视图的名称SQL>select view_name from user_views;。
oracle表结构查询语句
oracle表结构查询语句Oracle是一种关系型数据库管理系统,它具有强大的数据操作和查询功能。
在Oracle中,表是存储数据的基本单位,表结构查询语句用于查看表的结构信息,包括表名、字段名、字段类型、字段长度等。
下面列举了10个符合要求的Oracle表结构查询语句。
1. 查询指定表的所有字段名和字段类型```sqlSELECT COLUMN_NAME, DATA_TYPEFROM ALL_TAB_COLUMNSWHERE TABLE_NAME = '表名'```这条语句通过查询ALL_TAB_COLUMNS视图,可以获取指定表的所有字段名和字段类型。
2. 查询指定表的所有字段名和字段长度```sqlSELECT COLUMN_NAME, DATA_LENGTHFROM ALL_TAB_COLUMNSWHERE TABLE_NAME = '表名'```这条语句通过查询ALL_TAB_COLUMNS视图,可以获取指定表的所有字段名和字段长度。
3. 查询指定表的主键字段名```sqlSELECT COLUMN_NAMEFROM ALL_CONSTRAINTS C, ALL_CONS_COLUMNS CC WHERE C.TABLE_NAME = '表名'AND C.CONSTRAINT_TYPE = 'P'AND C.CONSTRAINT_NAME = CC.CONSTRAINT_NAMEAND CC.TABLE_NAME = '表名'```这条语句通过查询ALL_CONSTRAINTS和ALL_CONS_COLUMNS 视图,可以获取指定表的主键字段名。
4. 查询指定表的外键字段名和关联表名```sqlSELECT A.COLUMN_NAME, B.TABLE_NAMEFROM ALL_CONSTRAINTS A, ALL_CONSTRAINTS B WHERE A.TABLE_NAME = '表名'AND A.CONSTRAINT_TYPE = 'R'AND A.R_CONSTRAINT_NAME = B.CONSTRAINT_NAME AND B.TABLE_NAME != '表名'```这条语句通过查询ALL_CONSTRAINTS视图,可以获取指定表的外键字段名和关联表名。
oracle 查看 用户,用户权限,用户表空间,用户默认表空间
oracle 查看用户,用户权限,用户表空间,用户默认表空间1.查看用户和默认表空间的关系。
select username,default_tablespace from dba_users;2.查看当前用户的表:select table_name from user_tables;3.查看所有用户的表名:select table_name from all_tables;4.查看所有表名(其中包括系统表)select table_name from all_tables;5.查看所有的表:select * from tab/dba_tables/dba_objects/cat;下面介绍Oracle查询用户表空间◆Oracle查询用户表空间:select * from user_all_tables◆Oracle查询所有函数和储存过程:select * from user_source◆Oracle查询所有用户:select * from all_users.select * from dba_users◆Oracle查看当前用户连接:select * from v$Session◆Oracle查看当前用户权限:select * from session_privs◆Oracle查看用户表空间使用情况:1.select a.file_id"FileNo",a.tablespace_name "Tablespace_name", a.bytes "Bytes",a.bytes-sum(nvl(b.bytes,0)) "Used", sum(nvl(b.bytes,0)) "Free", sum(nvl(b.bytes,0))/a.bytes*100 "%free"from dba_data_files a, dba_free_space b where a.file_id=b.file_id(+) group by a.tablespace_name ,a.file_id,a.bytes order by a.tablespace_name;1.查看所有用户:select * from dba_user;select * from all_users;select * from user_users;2.查看用户系统权限:select * from dba_sys_privs;select * from all_sys_privs; select * from user_sys_privs;3.查看用户对象权限:select * from dba_tab_privs; select * from all_tab_privs; select * from user_tab_privs;4.查看所有角色:select * from dba_roles;5.查看用户所拥有的角色:select * from dba_role_privs; select * from user_role_privs;6.查看角色所拥有的权限:select * from role_sys_privs;select * from role_tab_privs;7.查看所有系统权限select * from system_privilege_map;8.查看所有对象权限select * from table_privilege_map;以上是在Oracle中查看用户权限,在DB2中为:select * from syscat.dbauth或者get authorizations查看sidselect * from v$instance<!-- [if gte mso9]><xml><w:WordDocument><w:View>Normal</w:View><w:Zoo m>0</w:Zoom><w:PunctuationKerning/><w:DrawingGridVerticalSp acing>7.8 磅</w:DrawingGridVerticalSpacing><w:DisplayHorizontalDrawingGridE very>0</w:DisplayHorizontalDrawingGridEvery><w:DisplayVerticalD rawingGridEvery>2</w:DisplayVerticalDrawingGridEvery><w:Validat eAgainstSchemas/><w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid><w:IgnoreMixedContent>false</w:IgnoreMixedContent><w:Alwa ysShowPlaceholderText>false</w:AlwaysShowPlaceholderText><w: Compatibility><w:SpaceForUL/><w:BalanceSingleByteDoubleByteWi dth/><w:DoNotLeaveBackslashAlone/><w:ULTrailSpace/><w:DoNo tExpandShiftReturn/><w:AdjustLineHeightInTable/><w:BreakWrapp edTables/><w:SnapToGridInCell/><w:WrapTextWithPunct/><w:Us eAsianBreakRules/><w:DontGrowAutofit/><w:UseFELayout/></w:C ompatibility><w:BrowserLevel>MicrosoftInternetExplorer4</w:Brow serLevel></w:WordDocument></xml><![endif]--><!-- [if gte mso 9]><xml><w:LatentStyles DefLockedState="false" LatentStyleCount="156"></w:LatentStyles></xml><![endif]--><!-- /* Font Definitions */ @font-face {font-family:宋体; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:SimSun; mso-font-charset:134;mso-generic-font-family:auto; mso-font-pitch:variable;mso-font-signature:3 135135232 16 0 262145 0;} @font-face{font-family:"\@宋体"; panose-1:2 1 6 0 3 1 1 1 1 1;mso-font-charset:134; mso-generic-font-family:auto;mso-font-pitch:variable; mso-font-signature:3 135135232 16 0 262145 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal,div.MsoNormal {mso-style-parent:""; margin:0cm;margin-bottom:.0001pt; text-align:justify; text-justify:inter-ideograph; mso-pagination:none; font-size:10.5pt; mso-bidi-font-size:10.0pt;font-family:"Times New Roman"; mso-fareast-font-family:宋体;mso-font-kerning:1.0pt;} /* Page Definitions */ @page{mso-page-border-surround-header:no;mso-page-border-surround-footer:no;} @page Section1 {size:595.3pt 841.9pt; margin:72.0pt 90.0pt 72.0pt 90.0pt;mso-header-margin:42.55pt; mso-footer-margin:49.6pt;mso-paper-source:0; layout-grid:15.6pt;} div.Section1{page:Section1;} --><!-- [if gte mso 10]><style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格;mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0;mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm;mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman";mso-fareast-font-family:"Times New Roman";mso-ansi-language:#0400; mso-fareast-language:#0400;mso-bidi-language:#0400;} </style><![endif]-->获取表:select table_name from user_tables; // 当前用户的表select table_name from all_tables; // 所有用户的表select table_name from dba_tables; // 包括系统表select table_name from dba_tables where owner=' 用户名'user_tables :table_name,tablespace_name,last_analyzed 等dba_tables :ower,table_name,tablespace_name,last_analyzed 等all_tables :ower,table_name,tablespace_name,last_analyzed 等all_objects :ower,object_name,subobject_name,object_id,created,last_ddl_time,ti mestamp,status 等获取表字段:select * from user_tab_columns where Table_Name=' 用户表';select * from all_tab_columns where Table_Name=' 用户表';select * from dba_tab_columns where Table_Name=' 用户表';user_tab_columns :table_name,column_name,data_type,data_length,data_precision,dat a_scale,nullable,column_id 等all_tab_columns :ower,table_name,column_name,data_type,data_length,data_precisio n,data_scale,nullable,column_id 等dba_tab_columns :ower,table_name,column_name,data_type,data_length,data_precisio n,data_scale,nullable,column_id 等获取表注释:select * from user_tab_commentsuser_tab_comments :table_name,table_type,comments-- 相应的还有dba_tab_comments ,all_tab_comments ,这两个比user_tab_comments 多了ower 列。
oracle中查询表对象详细信息
四.其它查询
查询指定用户下所有表的所有列[名]及其详细信息:select * from all_tab_columns where owner='大小写区分的用户名' and table_name='表名' //无需权限
查询当前用户下所有表的所有列的注释:...]
1.查询当前用户下所有的表[名]及其详细信息:select * from user_tables [where ...] //可以和user_tab_comments left join用?.table_name=?.table_name作联结条件查询表详细信息和注释
2.查询当前用户下所有表的所有列[名]及其详细信息:select * from user_tab_columns [where table_name='表名'] //可以和user_col_comments left join用?.table_name=?table_name and ?.column_name=?.column_name作联结条件查询所有的字段和注释,要查询列数时可将select后from前的内容改为count(1)
3.查询当前实例下的所有用户信息:select * from all_users
二.无需联接需权限的查询
1.查询当前用户下的所有表的注释:select * from user_tab_comments [where table_name='表名']
2.
三.需要联接和权限的查询
一.无需联接和权限的查询
1.查询指定用户下所有表的所有列[名]及其注解:select * from all_col_comments where owner='大小写区分的用户名'
oracle数据库查询命令
oracle数据库查询命令⼀、⽤户表数据查询1、⽤户查看当前⽤户的缺省表空间SQL>select username,default_tablespace from user_users;查看当前⽤户的⾓⾊SQL>select * from user_role_privs;查看当前⽤户的系统权限和表级权限SQL>select * from user_sys_privs;SQL>select * from user_tab_privs;2、表 tabs查看⽤户下所有的表SQL>select * from user_tables;查看名称包含log字符的表SQL>select object_name,object_id from user_objects where instr(object_name,'LOG')>0;查看某表的创建时间SQL>select object_name,created from user_objects where object_name=upper('&table_name');查看某表的⼤⼩SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments where segment_name=upper('&table_name');查看放在ORACLE的内存区⾥的表SQL>select table_name,cache from user_tables where instr(cache,'Y')>0;3、索引 ind查看索引个数和类别SQL>select index_name,index_type,table_name from user_indexes order by table_name;查看索引被索引的字段SQL>select * from user_ind_columns where index_name=upper('&index_name');查看索引的⼤⼩SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments where segment_name=upper('&index_name');4、序列号 seq查看序列号,last_number是当前值SQL>select * from user_sequences; 或 select * from seq;5、视图查看视图的名称SQL>select view_name from user_views;查看创建视图的select语句SQL>set view_name,text_length from user_views;SQL>set long 2000; 说明:可以根据视图的text_length值设定set long 的⼤⼩SQL>select text from user_views where view_name=upper('&view_name');6、同义词查看同义词的名称SQL>select * from user_synonyms;7、约束条件查看某表的约束条件SQL>select constraint_name, constraint_type,search_condition, r_constraint_name from user_constraints where table_name = upper('&table_name');SQL>select c.constraint_name,c.constraint_type,cc.column_namefrom user_constraints c,user_cons_columns ccwhere c.owner = upper('&table_owner') and c.table_name = upper('&table_name') and c.owner = cc.owner and c.constraint_name = cc.constraint_nameorder by cc.position;8、存储函数和过程查看函数和过程的状态SQL>select object_name,status from user_objects where object_type='FUNCTION'; SQL>select object_name,status from user_objects where object_type='PROCEDURE';查看函数和过程的源代码SQL>select text from all_source where owner=user and name=upper('&plsql_name');9、获取创建表语句 设置输出长度 SQL> SET LONG 9999; SQL> SELECT DBMS_METADATA.GET_DDL('TABLE','tablename') FROM DUAL;⼆、查看数据库的SQL1、查看表空间的名称及⼤⼩select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_sizefrom dba_tablespaces t, dba_data_files dwhere t.tablespace_name = d.tablespace_namegroup by t.tablespace_name;2、查看表空间物理⽂件的名称及⼤⼩select tablespace_name, file_id, file_name,round(bytes/(1024*1024),0) total_spacefrom dba_data_filesorder by tablespace_name;3、查看回滚段名称及⼤⼩select segment_name, tablespace_name, r.status,(initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent,max_extents, v.curext CurExtentFrom dba_rollback_segs r, v$rollstat vWhere r.segment_id = n(+)order by segment_name ;4、查看控制⽂件select name from v$controlfile;5、查看⽇志⽂件select member from v$logfile;6、查看表空间的使⽤情况select sum(bytes)/(1024*1024) as free_space,tablespace_namefrom dba_free_spacegroup by tablespace_name;SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE, (B.BYTES*100)/A.BYTES "% USED",(C.BYTES*100)/A.BYTES "% FREE"FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE CWHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME;7、查看数据库库对象select owner, object_type, status, count(*) count# from all_objects group by owner, object_type, status;8、查看数据库的版本Select version FROM Product_component_versionWhere SUBSTR(PRODUCT,1,6)='Oracle';9、查看数据库的创建⽇期和归档⽅式Select Created, Log_Mode, Log_Mode From V$Database;。
Oracle查找用户、表、注释等操作
Oracle查找⽤户、表、注释等操作获取⽤户-- 获取所有⽤户信息select * from all_users;-- 筛除系统⽤户select * from all_users where common = 'NO';-- 其他需求按条件查找获取表-- 获取所有表select * from all_tables;-- 获取A⽤户下的所有表信息select * from all_tables where owner = 'A';--注释信息-- 获取当前⽤户下所有表及注释select * from user_tab_comments;-- 某个表的注释select * from user_tab_comments where table_name = 'AAAA';-- ⽐user_tab_comments 多⼀个owner列,同时也是查的所有⽤户,所有表select * from all_tab_comments;判断表中某字段是否存在SELECT COUNT(*)FROM all_tab_columnsWHERE owner IN (SELECT USERNAMEFROM all_usersWHERE common = 'NO')AND table_name = 'SJ_JCJLB'AND column_name = 'GZID'-- 注意:在Oracle中字段、表名等全部⽤⼤写匹配。
-- all_tab_columns 代表全部字段 user_tab_columns 当前⽤户字段-- 直接⽤ all_tab_columns查询会特别慢(数据量很⼤),就把系统⽤户排除掉检测表是否有注释SELECT *FROM all_tab_commentsWHERE OWNER IN (SELECT USERNAMEFROM ALL_USERSWHERE COMMON = 'NO')AND COMMENTS IS NULL;查找字段注释为空的⽤户和表信息SELECT *FROM (SELECT owner, table_nameFROM all_col_commentsWHERE owner IN (SELECT USERNAMEFROM all_usersWHERE common = 'NO')AND COMMENTS IS NULLORDER BY owner ASC)GROUP BY owner, table_name;查询字段中值是否有中⽂SELECT * FROM columnName WHERE ASCIISTR(columnName) LIKE '%\%';-- columnName 字段名持续更新记录。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2、查找表的主键(包括名称,构成列):
select cu.* from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and au.constraint_type = 'P' and au.table_name = 要查询的表
1、查找表的所有索引(包括索引名,类型,构成列):
select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name = i.index_name and t.table_name = i.table_name and t.table_name = 要查询的表
3、查找表的唯一性约束(包括名称,构成列):
select column_name from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and au.constraint_type = 'U' and au.table_name = 要查询的表
4、查找表的外键(包括名称,引用表的表名和对应的键名,下面是分成多步查询):
select * from user_constraints c where c.constraint_type = 'R' and c.table_name = 要查询的表
Hale Waihona Puke 查询外键约束的列名: select * from user_cons_columns cl where cl.constraint_name = 外键名称
查询引用表的键的列名:
select * from user_cons_columns cl where cl.constraint_name = 外键引用表的键名
5、查询表的所有列及其属性
select t.*,MENTS from user_tab_columns t,user_col_comments c where t.table_name = c.table_name and t.column_name = c.column_name and t.table_name = 要查询的表