怎么判断mysql表是否存在

判断mysql表是否存在,常用的方法如下:

SHOW TABLES LIKE '%tb_bp_d_case%';
select TABLE_NAME from INFORMATION_SCHEMA.TABLES whereTABLE_SCHEMA='dbname' and TABLE_NAME='tablename' ;

需要考虑的是权限问题

mysql 的授权分为 5 层:全局层级,数据库层级,表层级,列层级,子程序层级;

SHOW TABLES,并不在priv_type列表中,也就是说只要能连接到mysql上都可以执行。

如果用户权限是 表层级或者是列层级 的,那么 show tables; 只能看到有权限的表名。

如果 查询 INFORMATION_SCHEMA 库的话,也是一样的,只能查询到有权限的表。

如果说一个用户的权限不是数据库层级以上的话就会导致结果不可信赖。

类似下边的授权就不用担心这个问题(priv_type随便什么都行)。

更多技术请关注云海天Python教程。

来源:PY学习网:原文地址:https://www.py.cn/article.html

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 怎么判断mysql表是否存在