数据库中字符串尽量用单引号!!!
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换成dba
1、查找表的所有索引(包括索引名,类型,构成列):
select uic.*,ui.index_type from user_ind_columns uic,user_indexes ui
where uic.index_name = ui.index_name and uic.table_name = ui.table_name and uic.table_name = 表名大写;
2、查找表的主键(包括名称,构成列):
select constraint_name from user_constraints c where c.CONSTRAINT_TYPE='P' //约束类型大写
and c.table_name='STUDENT_INFO';(注意表名大写)
3、查找表的唯一性约束(包括名称,构成列):
select column_name,uc.constraint_name from user_cons_columns ucc, user_constraints uc
where ucc.constraint_name = uc.constraint_name
and uc.constraint_type ='U'
and uc.table_name = 'STUDENT_INFO';
4、查找表的外键(包括名称,引用表的表名和对应的键名,下面是分成多步查询):
select uc.constraint_name,column_name from user_constraints uc,user_cons_columns ucc
where uc.CONSTRAINT_NAME=ucc.CONSTRAINT_NAME
and uc.CONSTRAINT_TYPE='R'
and uc.table_name='STUDENT_INFO';
查询外键约束的列名:
select * from user_cons_columns u where u.constraint_name = 外键名称大写;
查询引用表的键的列名:
select * from user_cons_columns cl where cl.constraint_name = 外键引用表的键名;
5、查询表的所有列及其属性
select t.*,c.COMMENTS from user_tab_columns t,user_col_comments c wheret.table_name = c.table_name and t.column_name = c.column_name and t.table_name= 查询的表名大写;
案例
--查看用户表--
select * from user_tables;
--查看表的外键--
select u.constraint_name from user_constraints u
where u.CONSTRAINT_TYPE='R'
and u.table_name='STUDENT_INFO';
--查看表的主键--
select uc.constraint_name,ucc.column_name from user_constraints uc,user_cons_columns ucc
where uc.CONSTRAINT_NAME=ucc.CONSTRAINT_NAME
and uc.CONSTRAINT_TYPE='P'
and uc.TABLE_NAME='STUDENT_INFO';
--查看表的索引--
select index_name from user_indexes u where u.TABLE_NAME='HOTEL';
--查看表的序列--
select sequence_name from user_sequences u;
--查看唯一性约束--
select constraint_name from user_constraints u where u.CONSTRAINT_TYPE='U'
and u.table_name='HOTEL';