我正在研究的MySQL daabase的字段大小已经确定非常随意,我想根据它的当前数据来查看它们。所以我想确定每个字段的最大字符数,所以我确定在更新字段大小时不会丢失任何数据。
phpmyadmin或SQL语句中是否有可以帮助我的功能?
由于
答案 0 :(得分:8)
使用CHAR_LENGTH
,前
SELECT MAX(CHAR_LENGTH(column1)) maxCol1,
MAX(CHAR_LENGTH(column2)) maxCol2,
MAX(CHAR_LENGTH(column3)) maxCol3
FROM tableName
如果您的列数未知,也可以使用Dynamic 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;
答案 1 :(得分:-1)
在phpmyadmin中,您可以从表格的结构标签中了解这些数据。看附图: