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
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;
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
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'
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.