web-dev-qa-db-fra.com

Comment obtenir la taille de la colonne dans la table mysql

J'essaie de connaître la taille exacte d'une colonne dans une table. PHPMyAdmin n'affiche pas la taille des colonnes, seulement les tables.

Comment puis-je obtenir la taille de la colonne?

Merci

23
user1446650

Si vous souhaitez connaître la taille de column = COLUMN_NAME à partir de table = TABLE_NAME, vous pouvez toujours exécuter une requête comme celle-ci:

SELECT sum(char_length(COLUMN_NAME)) 
FROM TABLE_NAME;

La taille retournée est en octets. Si vous le voulez en Ko, vous pouvez simplement le diviser par 1024, comme ceci:

SELECT sum(char_length(COLUMN_NAME))/1024 
FROM TABLE_NAME;
24
tim berspine
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

Si vous voulez une taille de table entière, utilisez-la

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; 

Modifier

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

Source

16
Vignesh Kumar A

Si vous le faites à partir d'un script, vous pouvez l'exécuter après avoir établi une connexion (et donc la base de données est déjà sélectionnée):

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

Remplacez les? Par le nom de votre table et le nom de votre colonne, respectivement.

3
insaner