Java 如何获取每个MySQL数据库的名称长度?
我试图模仿Java 如何获取每个MySQL数据库的名称长度?,java,mysql,output,maxlength,Java,Mysql,Output,Maxlength,我试图模仿show数据库的输出使用java。我想输出与此完全或非常类似的内容: +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | | test | +--------------------+ 我的
show数据库的输出代码>使用java。我想输出与此完全或非常类似的内容:
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| test |
+--------------------+
我的第一个想法是在开始打印输出之前计算出所有数据库名称的最大长度。然而,我不知道我如何才能做到这一点
我试着选择max(长度(显示数据库))代码>这是无效的语法。我确实发现我可以使用所有的表并运行选择长度(database())
查找名称的长度,但我相信mysql并不是这样输出结果的
是否有其他打印输出的方法?谢谢 SHOW DATABASES
是一个独立的命令,不能像您那样用作参数
使用此命令,您可以获得所需的信息:
SELECT MAX(LENGTH(SCHEMA_NAME)) FROM information_schema.schemata;
另请参见显示数据库
是一个独立的命令,不能像以前那样用作参数
使用此命令,您可以获得所需的信息:
SELECT MAX(LENGTH(SCHEMA_NAME)) FROM information_schema.schemata;
另请参见您必须直接查询信息架构表。试试这个
mysql> SELECT DISTINCT(table_schema), length(table_schema) from
information_schema.tables;
+--------------------+----------------------+
| table_schema | length(table_schema) |
+--------------------+----------------------+
| information_schema | 18 |
| json | 4 |
| mysql | 5 |
| performance_schema | 18 |
| sys | 3 |
+--------------------+----------------------+
5 rows in set (0.00 sec)
您必须直接查询信息模式表。试试这个
mysql> SELECT DISTINCT(table_schema), length(table_schema) from
information_schema.tables;
+--------------------+----------------------+
| table_schema | length(table_schema) |
+--------------------+----------------------+
| information_schema | 18 |
| json | 4 |
| mysql | 5 |
| performance_schema | 18 |
| sys | 3 |
+--------------------+----------------------+
5 rows in set (0.00 sec)