此时情绪此时天,无事小神仙
好好生活,平平淡淡每一天

编辑

Oracle查询数据库万能SQL

Oracle 数据库表简要说明

数据库表 描述
USER 开头的 只能查询自身用户的表
DBA 开头的 最高权限,只能用sys、system用户才能查询
CDB 开头的 Container Database 数据库容器,ORACLE 12版本引入
ALL 开头的 sys、system、普通用户都能查

查询数据库表字段

-- 查询数据库表字段:以下的表都可以作为主表查询数据
-- 推荐优先级:DBA_TAB_COLUMNS:DBA_COL_COMMENTS>CDB_TAB_COLUMNS:CDB_COL_COMMENTS>ALL_TAB_COLUMNS:ALL_COL_COMMENTS
-- 若是没有权限则可以尝试使用这个:USER_TAB_COLUMNS:USER_COL_COMMENTS,虽然没有什么用
SELECT dt.COLUMN_ID,CONCAT(CONCAT(dt.OWNER,'.'),dt.TABLE_NAME) TABLE_NAME,dt.COLUMN_NAME,com.COMMENTS,dt.DATA_TYPE,dt.DATA_LENGTH AS "DATA_LENGTH(字节)",DATA_PRECISION AS "DATA_PRECISION(精度)",DATA_SCALE AS "DATA_SCALE(小数位)",dt.NULLABLE
FROM DBA_TAB_COLUMNS dt LEFT JOIN DBA_COL_COMMENTS com ON dt.OWNER = com.OWNER AND dt.TABLE_NAME = com.TABLE_NAME AND dt.COLUMN_NAME = com.COLUMN_NAME
WHERE ROWNUM < 100
AND LOWER(dt.OWNER) = LOWER('USERDB')
AND LOWER(dt.TABLE_NAME) = LOWER('T_USER')
AND LOWER(dt.COLUMN_NAME) LIKE LOWER('%name%')
AND LOWER(com.COMMENTS) LIKE LOWER('%名%')
ORDER BY dt.OWNER,dt.TABLE_NAME,dt.COLUMN_ID;

查询数据库表

-- 查询数据库表:以下表都可以作为主表查询数据
-- 推荐优先级:DBA_ALL_TABLES:DBA_TAB_COMMENTS>CDB_ALL_TABLES:CDB_TAB_COMMENTS>ALL_ALL_TABLES:ALL_TAB_COMMENTS
-- 若是没有权限则可以尝试使用这个:USER_ALL_TABLES:USER_TAB_COMMENTS,虽然没有什么用
SELECT ROWNUM,CONCAT(CONCAT(dt.OWNER,'.'),dt.TABLE_NAME) TABLE_NAME,com.COMMENTS,dt.NUM_ROWS,dt.SAMPLE_SIZE,dt.LAST_ANALYZED 
FROM DBA_ALL_TABLES dt LEFT JOIN DBA_TAB_COMMENTS com ON dt.OWNER = com.OWNER AND dt.TABLE_NAME = com.TABLE_NAME
WHERE ROWNUM < 100
AND LOWER(dt.TABLESPACE_NAME) = LOWER('users')
AND LOWER(dt.OWNER) = LOWER('USERDB')
AND LOWER(dt.TABLE_NAME) LIKE LOWER('%user%')
AND LOWER(com.COMMENTS) LIKE LOWER('%名%')
ORDER BY dt.OWNER,dt.TABLE_NAME;
posted @ 2024-03-28 19:35  踏步  阅读(18)  评论(0编辑  收藏  举报