mysql - 获取数据库名称前缀?

标签 mysql mariadb

以下是获取数据库列表的一种方法:

SELECT table_schema 'dattabase_name'
FROM information_schema.tables 
GROUP BY table_schema;

但是,如果列表包含特定前缀,我只需要SELECT 列表。我尝试了以下一些组合,但没有成功:

SUBSTR('database',0,10),
SUBSTR(mysqltable_schema 'database' FROM 0 FOR 10),

我也尝试过:

SELECT SCHEMA_NAME, SUBSTR(SCHEMA_NAME, 0, 10) from information_schema.SCHEMATA
SELECT SCHEMA_NAME, SUBSTR(SCHEMA_NAME, FROM 0 FOR 10) from information_schema.SCHEMATA;

如何获取数据库名称的 substr 前缀?

最佳答案

String positions in MySQL start at 1 ,因此需要使用 SUBSTR(str, 1, 10) 来获取前 10 个字符。尝试这个查询:

SELECT table_schema as `database`, SUBSTR(table_schema, 1, 10) AS `dbprefix`
FROM `TABLES`
WHERE SUBSTR(table_schema, 1, 10) LIKE '%form%'
GROUP BY table_schema

关于mysql - 获取数据库名称前缀?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58160778/

相关文章:

mysql - 将单个表中的记录与同一列上的过滤器相匹配

mysql - 生成的列在 mysql mariadb 中添加带有计数器的时间戳列

java - JDBC Java 连接被拒绝 : connect

mysql - 本地 MySQL 到 azure MySQL 数据库之间的镜像?

MySQL/MariaDB 从具有最大陈旧性的从属设备读取首选项

mysql - 使用jdbc通过ip连接远程mysql,但是ip变成了另一个ip

MySQL 索引未命中

mysql - MySQL中的临时表定义

Mac OS X 上的 Mysql Workbench 不显示结果网格

mysql - 删除属于同一用户的另一条记录十分钟内创建的任何 MySQL 记录