SQL 查询以在具有 MySQL 的数据库中查找所有 table 个名称
SQL Query to find all table names on a database with MySQL
这些是 table 数据库 MySql 版本 8.0.17
中的列表
t_contents_s300_10_2021
t_contents_s300_1_2021
t_contents_s300_2_2021
t_contents_s300_3_2021
t_contents_s34d_1_2021
t_contents_s34g_1_2021
t_contents_s34g_2_2021
t_contents_s3sv_1_2021
t_contents_s3sv_2_2021
我需要在 table 的列表中找到所有 table,例如 s3
和 1
以及 2021
我试过这个查询,但 return 包含所有数字,而不仅仅是 1
如何解决?
在此先感谢您的帮助。
mysql> SELECT
table_name
FROM
information_schema.TABLES
WHERE
table_name LIKE ( 't_contents_s3%' );
+-------------------------+
| TABLE_NAME |
+-------------------------+
| t_contents_s300_10_2021 |
| t_contents_s300_1_2021 |
| t_contents_s300_2_2021 |
| t_contents_s300_3_2021 |
| t_contents_s34d_1_2021 |
| t_contents_s34g_1_2021 |
| t_contents_s34g_2_2021 |
| t_contents_s3sv_1_2021 |
| t_contents_s3sv_2_2021 |
+-------------------------+
9 rows in set (0.44 sec)
LIKE
是个好方向:
SELECT table_name
FROM information_schema.TABLES
WHERE table_name LIKE 't#_contents#_s3%#_1#_2021' ESCAPE '#';
或者如果 s3%
部分总是有 4 个字符,则:
SELECT table_name
FROM information_schema.TABLES
WHERE table_name LIKE 't#_contents#_s3__#_1#_2021' ESCAPE '#';
ESPACE
允许像 _
一样对待 _
而不是单个字符通配符。
这些是 table 数据库 MySql 版本 8.0.17
中的列表t_contents_s300_10_2021
t_contents_s300_1_2021
t_contents_s300_2_2021
t_contents_s300_3_2021
t_contents_s34d_1_2021
t_contents_s34g_1_2021
t_contents_s34g_2_2021
t_contents_s3sv_1_2021
t_contents_s3sv_2_2021
我需要在 table 的列表中找到所有 table,例如 s3
和 1
以及 2021
我试过这个查询,但 return 包含所有数字,而不仅仅是 1
如何解决?
在此先感谢您的帮助。
mysql> SELECT
table_name
FROM
information_schema.TABLES
WHERE
table_name LIKE ( 't_contents_s3%' );
+-------------------------+
| TABLE_NAME |
+-------------------------+
| t_contents_s300_10_2021 |
| t_contents_s300_1_2021 |
| t_contents_s300_2_2021 |
| t_contents_s300_3_2021 |
| t_contents_s34d_1_2021 |
| t_contents_s34g_1_2021 |
| t_contents_s34g_2_2021 |
| t_contents_s3sv_1_2021 |
| t_contents_s3sv_2_2021 |
+-------------------------+
9 rows in set (0.44 sec)
LIKE
是个好方向:
SELECT table_name
FROM information_schema.TABLES
WHERE table_name LIKE 't#_contents#_s3%#_1#_2021' ESCAPE '#';
或者如果 s3%
部分总是有 4 个字符,则:
SELECT table_name
FROM information_schema.TABLES
WHERE table_name LIKE 't#_contents#_s3__#_1#_2021' ESCAPE '#';
ESPACE
允许像 _
一样对待 _
而不是单个字符通配符。