Mysql、Oracle、Hive中查找表、数据库

来源:互联网 发布:仓储物流软件系统 编辑:程序博客网 时间:2024/06/05 16:12

数据库中搜索表、根据表名查出表
工作过程中,我们有时候会遇到需要在数据库查找(搜索)表名包含’abc’的表,应该怎么处理呢。
笔者首先想到的是用where语句,但是where语句必须和select一起用,于是突发奇想,可不可以用like,试了下,果然可以,并且不同的数据库中like的用法还不同,特总结下来。
下面分别看看Mysql、Oracle、Hive中的找表方式。

Mysql

如下找出所有包含ads的表:
Mysql代表任意个数任意字符的是 ‘%’

show tables LIKE '%ads%';

结果如下图
这里写图片描述

查找所有包含a的数据库

show DATABASES LIKE '%a%';

这里写图片描述

Oracle

Oracle比较特殊;
Mysql的show tables等价于Oracle的select table_name from user_tables;
Mysql的show databases等价于Oracle的select username from dba_users;

Mysql:  show tables == Oracle:  select table_name from user_tables; Mysql:  show databases == Oracle: select username from dba_users; 

所以Oracle可以直接用where语句,也是用’%’

select table_name from user_tables where table_name like '%LOGMNR%' ; 

这里写图片描述

Hive

Hive可以使用show tables 和show databases,但是
Hive在查表结构代表任意个数任意字符的是 ‘*’

show tables LIKE '*ljb*';

这里写图片描述

注:Hive中查询数据时,使用的还是%,与Mysql等一致
这里写图片描述

阅读全文
0 0
原创粉丝点击