mysql、oracle查询所有表名和表注释

本文介绍了如何使用SQL查询MySQL和Oracle数据库,包括获取所有表名和表注释、检查表是否存在特定字段以及筛选包含特定关键词(如PATH或URL)的字段名。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


1.mysql查询某个数据库下的所有表名和表注释

SELECT TABLE_NAME,TABLE_COMMENT FROM information_schema.TABLES WHERE table_schema='数据库名';

2.oracle查询数据库下的所有表

SELECT * FROM USER_TAB_COMMENTS ORDER BY table_name;

3.mysql查询某个表是否存在某字段

select COUNT(*) from information_schema.columns WHERE table_schema='数据库名' and table_name = '表名' and column_name = '字段名';

4.oracle查询表是否存在某字段
 

SELECT COUNT(*) FROM USER_TAB_COLUMNS WHERE TABLE_NAME = '表名' and column_name = '字段名';


5.oracle查询所有表字段名中包含PATH或者URL的数据

SELECT TABLE_NAME,COLUMN_NAME FROM USER_TAB_COLUMNS t WHERE UPPER(column_name) LIKE '%PATH%' OR UPPER(column_name) LIKE '%URL%';

<think>嗯,用户想了解MySQLOracle如何根据称或字段注释查找。我需要先回忆这两个数据库的系统结构。 对于MySQL,我记得信息模式(INFORMATION_SCHEMA)里有COLUMNS,里面存储了字段的注释。所以,如果要根据字段注释,应该查询COLUMNS,用COLUMN_COMMENT字段过滤。而根据的话,可能用TABLES的TABLE_NAME字段。不过用户可能需要的是模糊查询,所以得用LIKE操作符。 然后是OracleOracle的数据字典视图比较复杂。字段注释应该在ALL_COL_COMMENTS,注释在ALL_TAB_COMMENTS。所以根据字段注释查询时,需要连接ALL_TAB_COLUMNSALL_COL_COMMENTS,或者直接查ALL_COL_COMMENTS的COMMENTS字段。的话,查ALL_TABLES中的TABLE_NAME,或者结合注释的话用ALL_TAB_COMMENTS。 需要注意权限问题,比如ALL_开头的视图只能看到用户有权限访问的对象,如果需要包括所有,可能需要用DBA_视图,但需要更高权限。另外,用户可能需要模糊查询的例子,所以示例中应该包含%符号,比如LIKE '%关键字%'。 可能用户实际应用场景是在数据库维护或逆向工程时,根据注释快速定位结构。要确保给出的SQL示例正确,并且解释清楚每个部分的作用,避免用户执行时报错。还要提醒注释是否填写,因为如果注释为空,查询可能不会有结果。最后,检查语法是否正确,比如Oracle的字符串连接符||的使用,以及别是否正确。</think>以下是MySQLOracle根据称或字段注释查找的SQL写法: --- ### 一、MySQL实现方式 #### 1. 根据**字段注释**查找 ```sql SELECT TABLE_SCHEMA AS '数据库', TABLE_NAME AS '', COLUMN_NAME AS '字段', COLUMN_COMMENT AS '字段注释' FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_COMMENT LIKE '%关键词%'; ``` #### 2. 根据****查找 ```sql SELECT TABLE_SCHEMA AS '数据库', TABLE_NAME AS '', TABLE_COMMENT AS '注释' FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE '%关键词%'; ``` --- ### 二、Oracle实现方式 #### 1. 根据**字段注释**查找 ```sql SELECT OWNER AS "所属用户", TABLE_NAME AS "", COLUMN_NAME AS "字段", COMMENTS AS "字段注释" FROM ALL_COL_COMMENTS WHERE COMMENTS LIKE '%关键词%'; ``` #### 2. 根据**注释**查找 ```sql SELECT OWNER AS "所属用户", TABLE_NAME AS "", COMMENTS AS "注释" FROM ALL_TAB_COMMENTS WHERE TABLE_NAME LIKE '%关键词%' OR COMMENTS LIKE '%关键词%'; ``` --- ### 三、关键说明 1. **模糊查询**:`LIKE '%关键词%'`中的`%`为通配符,示任意字符 2. **权限差异**: - `ALL_`开头的视图:显示当前用户有权限访问的对象 - `DBA_`开头的视图:需要DBA权限(显示所有对象) - `USER_`开头的视图:仅显示当前用户拥有的对象 3. **注释为空的情况**:如果字段/未设置注释,则不会出现在查询结果中 --- ### 四、扩展用法示例 #### 同时查询字段注释Oracle) ```sql SELECT a.TABLE_NAME AS "", a.COLUMN_NAME AS "字段", b.COMMENTS AS "字段注释" FROM ALL_TAB_COLUMNS a LEFT JOIN ALL_COL_COMMENTS b ON a.OWNER = b.OWNER AND a.TABLE_NAME = b.TABLE_NAME AND a.COLUMN_NAME = b.COLUMN_NAME WHERE b.COMMENTS LIKE '%订单%'; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值