Подтвердить что ты не робот

Как получить размер столбца в таблице mysql

Я пытаюсь выяснить точный размер одного столбца в таблице. PHPMyAdmin не показывает размер столбцов, а только таблицы.

В любом случае я могу получить размер столбца?

Thankyou

4b9b3361

Ответ 1

SELECT column_name, 
       character_maximum_length 
FROM   information_schema.columns 
WHERE  table_schema = Database() 
       AND -- name of your database 
       table_name = 'turno' 
       AND -- name of your table 
       column_name = 'nombreTurno' -- name of the column 

INFORMATION_SCHEMA.COLUMNS

Если вы хотите весь размер таблицы, используйте этот

SELECT table_name                                                 AS "Tables", 
       Round(( ( data_length + index_length ) / 1024 / 1024 ), 2) "Size in MB" 
FROM   information_schema.tables 
WHERE  table_schema = "$db_name" 
ORDER  BY ( data_length + index_length ) DESC; 

Edit

SELECT column_name, 
       character_maximum_length 
FROM   information_schema.columns 
WHERE  table_schema = 'websi_db1' 
       AND table_name = 'thread' 
       AND column_name = 'title' 

Источник

Ответ 2

Если вы хотите узнать размер столбца = COLUMN_NAME из таблицы = TABLE_NAME, вы всегда можете запустить такой запрос:

SELECT sum(char_length(COLUMN_NAME)) 
FROM TABLE_NAME;

Возвращаемый размер в байтах. Если вы хотите его в kb, вы можете просто разделить его на 1024, например:

SELECT sum(char_length(COLUMN_NAME))/1024 
FROM TABLE_NAME;

Ответ 3

Если вы делаете это с помощью script, вы можете запустить его после того, как вы установили соединение (и, следовательно, база данных уже выбрана):

SELECT  character_maximum_length
FROM information_schema.columns
WHERE table_name = ? AND column_name = ?

Заменить? с именем вашей таблицы и именем столбца, соответственно.