oracle中ALL_TABLES、DBA_TABLES、USER_TABLES系统表

  • DBA_TABLES 显示的是数据库中所有表(所有表DBA都可以操作)
  • ALL_TABLES 显示与当前用户可访问的表 (只要对某个表有任何权限,即可在此视图中看到表的相关信息)
  • USER_TABLES 显示当前用户拥有的表

所以以上3个视图中,user_tables的范围最小,all_tables看到的东西稍多一些,而dba_tables看到最多的信息

/********************************************
     通过系统表,查看表中列的属性,包括 数据类型,是否非空,
********************************************/ --
SELECT
	A.table_name AS "表名",
	A.COLUMN_ID AS "列序号",
	A.column_name AS "列名",
	A.data_type AS "类型",
	A.data_length AS "长度",
	A.DATA_PRECISION AS "数据精度",
	A.NULLABLE AS "是否为空",
	B.comments AS "注释" 
FROM
	user_tab_columns A LEFT JOIN user_col_comments B ON B.table_name = A.table_name 
	AND A.column_name = B.column_name 
ORDER BY
	A.table_name,
	A.COLUMN_ID;

/********************************************
    查看ORACLE 数据库中所有表的注释
********************************************/--
SELECT
	table_name,
	comments 
FROM
	user_tab_comments;
/********************************************
查看ORACLE 数据库中所有列的注释
********************************************/--
SELECT
	table_name,
	column_name,
	comments 
FROM
user_col_comments;

你可能感兴趣的:(Oracle数据库)