[英]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.