繁体   English   中英

Select 所有表不包含 MySql 中数据库中的值

[英]Select all tables not containing a value from database in MySql

我的数据库包含如下所述的表名称,我需要不包含下划线(_)值的表:

table1
table1_xyz
table1_xyz_abc

table2
table2_xyz
table2_xyz_abc

从上面的示例中,我只需要从查询中获取talbe1 和 table2 ,用于获取所有表名的查询在我的 DataBaseName 中不包含下划线(_)值:

select table_name from information_schema.tables where table_schema = 'DataBaseName' and ( table_name NOT like '%_' OR table_name NOT like '_%' OR table_name NOT like '%_%') 

但没有获取任何结果。

任何建议。

这可以使用LIKE来完成

但是,某些字符具有特殊含义,例如:

  • \% 匹配一个 % 字符。

  • \_ 匹配一个 _ 字符。

.

select table_name 
from information_schema.tables 
where table_name NOT like '%\_%'

使用这个select table_name from information_schema.tables where table_schema = 'DataBaseName' and ( table_name NOT like '%\_' OR table_name NOT like '\_%' OR table_name NOT like '%\_%')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM