首页 > 数据库 >Oracle查询数据库万能SQL

Oracle查询数据库万能SQL

时间:2024-03-28 19:45:00浏览次数:26  
标签:LOWER NAME SQL COMMENTS 查询数据库 Oracle TABLE dt com

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 CONCAT(CONCAT(dt.OWNER,'.'),dt.TABLE_NAME) TABLE_NAME,dt.COLUMN_NAME,com.COMMENTS,dt.DATA_TYPE,dt.DATA_LENGTH,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;

查询数据库表字段

-- 查询数据库表:以下表都可以作为主表查询数据
-- 推荐优先级: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 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;

标签:LOWER,NAME,SQL,COMMENTS,查询数据库,Oracle,TABLE,dt,com
From: https://www.cnblogs.com/mjtabu/p/18102472

相关文章

  • Mysql数据库——主从复制与读写分离
    目录前言一、主从复制1.主从复制的定义2.Mysql主从复制支持的类型3.主从复制的过程4. 主从复制出现的问题5.解决方法二、读写分离1.读写分离的定义2.读写分离的作用3.读写分离作用场景3.1基于程序代码内部实现3.2基于中间代理层实现4.主从复制与读写分离三、搭......
  • Mybatis进阶之动态SQL
    1、MyBatis获取参数值的两种方式MyBatis获取参数值的两种方式:${}和#{}${}的本质就是字符串拼接,#{}的本质就是占位符赋值${}使用字符串拼接的方式拼接sql,若为字符串类型或日期类型的字段进行赋值时,需要手动加单引号;但是#{}使用占位符赋值的方式拼接sql,此时为字符串类型或日......
  • 【数据库】PostgreSQL中使用`SELECT DISTINCT`和`SUBSTRING`函数实现去重查询
    在PostgreSQL中,我们可以使用SELECTDISTINCT和SUBSTRING函数来实现对某个字段进行去重查询。本文将介绍如何使用这两个函数来实现对resource_version字段的去重查询。1.SELECTDISTINCT语句SELECTDISTINCT语句用于从表中选择不重复的记录。如果没有指定列名,则会选择所有列。在......
  • MySQL主从复制
    目录一、主从复制的原理二、搭建主从复制(一主一从)1、两台主机安装MySQL2、修改配置文件3、创建主从复制用户4、主从库重启并验证server_id5、配置从库与主库的复制关系6、验证主从复制一、主从复制的原理master服务器将数据的改变记录二进制日志,当master上的数据发生改变时,则将......
  • 一条SQL查询语句是如何执行的
    一条SQL查询语句是如何执行的?连接器1、先连接到数据库中,这时候工作的是连接器。连接器负责跟客户端建立连接、获取权限、维持和管理连接。查询缓存2、连接建立完成后,就可以执行select语句,执行逻辑就到了第二步,查询缓存。MySQL拿到一个查询后,会先到查询缓存看看,之前是不是执......
  • SQL去除空格
    在SQL中,去除空格可以使用以下几种方法:使用`REPLACE()`函数。可以将字符串中的空格替换为空字符,从而去除所有空格。例如,`REPLACE(column_name,'','')`将指定列中的所有空格替换掉。12345使用`TRIM()`函数。这个函数可以去除字符串首尾的空格。例如,`TRI......
  • MySQL各类查询语句DQL——聚合函数
    插入数据insertintostudentvalues(0,'2024-02-2510:10:10','赵灵儿','123','15612345678',16,'女','逍遥哥哥,你终于找到我了。');insertintostudentvalues(0,'2024-02-2510:10:10','王语嫣','123&......
  • MySQL学习必备SQL_DDL_DML_DQL
     MySQL创建数据库需要自行创建,数据库名称可以为【schoolDB】,字符集【utf8】,排序规则【utf8_general_ci】,1.学生表DDLCREATETABLE`student`( `id`INT(11)NOTNULLAUTO_INCREMENTCOMMENT'学号', `createDate`datetimeDEFAULTNULL, `userName`VARCHAR(......
  • MySQL学习必备查询语句like_between and_in
     MySQL创建数据库需要自行创建数据库名称可以为【schoolDB】,字符集【utf8】,排序规则【utf8_general_ci】,建表操作:CREATETABLE`student`( `id`INT(11)NOTNULLAUTO_INCREMENTCOMMENT'学号', `createDate`datetimeDEFAULTNULL, `userName`VARCHAR(20......
  • Sql Server 清理长期存在的无用会话
    DECLARE@killCommandNVARCHAR(1000);DECLARE@sessionIDINT;--定义超时阈值(以分钟为单位)DECLARE@idleTimeThresholdINT=30;--获取超过超时阈值的会话ID列表SELECT@sessionID=session_idFROMsys.dm_exec_sessionsWHEREstatus='sleeping'-......