Mysql 确定字段中的最大字符数

Mysql 确定字段中的最大字符数,mysql,sql,phpmyadmin,Mysql,Sql,Phpmyadmin,我正在处理的MySQL数据库的字段大小是任意确定的,我想根据其当前数据对其进行检查。所以我想确定每个字段的最大字符数,这样我就可以确保在更新字段大小时不会丢失任何数据 phpmyadmin或SQL语句中是否有可以帮助我的功能 谢谢使用字符长度,例如 SELECT MAX(CHAR_LENGTH(column1)) maxCol1, MAX(CHAR_LENGTH(column2)) maxCol2, MAX(CHAR_LENGTH(column3)) maxCol3

我正在处理的MySQL数据库的字段大小是任意确定的,我想根据其当前数据对其进行检查。所以我想确定每个字段的最大字符数,这样我就可以确保在更新字段大小时不会丢失任何数据

phpmyadmin或SQL语句中是否有可以帮助我的功能


谢谢

使用
字符长度
,例如

SELECT MAX(CHAR_LENGTH(column1)) maxCol1,
       MAX(CHAR_LENGTH(column2)) maxCol2,
       MAX(CHAR_LENGTH(column3)) maxCol3
FROM tableName
如果列数未知,也可以使用
动态SQL
。您只需要提供数据库的名称和表的名称

SET @db_Name = 'db_2_21a29';
SET @tb_name = 'TABLENAME';
SET @sql = NULL;
SELECT
  GROUP_CONCAT(DISTINCT
    CONCAT('MAX(CHAR_LENGTH(', COLUMN_NAME, ')) AS `', COLUMN_NAME, '`')
  ) INTO @sql
FROM information_schema.columns
WHERE TABLE_NAME = @tb_name AND
      TABLE_SCHEMA = @db_Name;

SET @sql = CONCAT('SELECT ',@sql, 'FROM ', @tb_name);

PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

在phpmyadmin中,您可以从表的结构选项卡了解此数据。请看所附图片:


谢谢@JW,速度很快,而且效果很好!将在9分钟内接受答案;)我想知道!为什么要投反对票?问题被标记,OP在问题的最后一行中很清楚:“phpmyadmin或SQL语句中是否有可以帮助我的功能?”问题是如何在每个字段中查找最长的字符串,而您的答案指示如何查找表架构中设置的字段最大长度。