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

数据库中搜索表、根据表名查出表
工作过程中,我们有时候会遇到需要在数据库查找(搜索)表名包含’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等一致
这里写图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值