Voici ses principaux champs :
Nom du champ | Type du champ | Description du champ |
character_maximum_len | BigInt(21) | Taille de la colonne. |
column_comment | VarChar(255) | Commentaire de la colonne. |
column_name | VarChar(64) | Nom de la colonne. |
data_type | VarChar(64) | Type de la colonne. |
is_nullable | VarChar(3) | YES si la valeur de la colonne peut être NULL. |
ordinal_position | BigInt(21) | Numéro de la colonne. |
table_catalog | VarChar(64) | Nom du catalog. |
table_name | VarChar(64) | Nom de la table. |
table_schema | VarChar(64) | Nom du schéma. |
SELECT
'',
a.table_catalog,
a.table_schema,
a.table_name,
a.column_name,
CASE a.data_type
WHEN 'BINARY' THEN 1
WHEN 'BLOB' THEN 1
WHEN 'LONGBLOB' THEN 1
WHEN 'MEDIUMBLOB' THEN 1
WHEN 'VARBINARY' THEN 1
WHEN 'TINYBLOB' THEN 1
WHEN 'CHAR' THEN 2
WHEN 'LONGTEXT' THEN 2
WHEN 'MEDIUMTEXT' THEN 2
WHEN 'NATIONAL CHAR' THEN 2
WHEN 'NATIONAL VARCHAR' THEN 2
WHEN 'VARCHAR' THEN 2
WHEN 'TEXT' THEN 2
WHEN 'TINYTEXT' THEN 2
WHEN 'DATE' THEN 3
WHEN 'DATETIME' THEN 3
WHEN 'TIME' THEN 3
WHEN 'TIMESTAMP' THEN 3
WHEN 'YEAR' THEN 3
WHEN 'BIGINT' THEN 4
WHEN 'BIGINT UNSIGNED' THEN 4
WHEN 'INT' THEN 4
WHEN 'INT UNSIGNED' THEN 4
WHEN 'INTEGER' THEN 4
WHEN 'INTEGER UNSIGNED' THEN 4
WHEN 'MEDIUMINT' THEN 4
WHEN 'MEDIUMINT UNSIGNED' THEN 4
WHEN 'SMALLINT' THEN 4
WHEN 'SMALLINT UNSIGNED' THEN 4
WHEN 'TINYINT' THEN 4
WHEN 'TINYINT UNSIGNED' THEN 4
WHEN 'BIT' THEN 5
WHEN 'BOOL' THEN 5
WHEN 'BOOLEAN' THEN 5
WHEN 'DEC' THEN 6
WHEN 'DEC UNSIGNED' THEN 6
WHEN 'DECIMAL' THEN 6
WHEN 'DECIMAL UNSIGNED' THEN 6
WHEN 'DOUBLE' THEN 6
WHEN 'DOUBLE PRECISION' THEN 6
WHEN 'DOUBLE PRECISION UNSIGNED' THEN 6
WHEN 'DOUBLE UNSIGNED' THEN 6
WHEN 'FLOAT' THEN 6
WHEN 'FLOAT UNSIGNED' THEN 6
ELSE 7
END,
a.character_maximum_len,
CASE a.is_nullable
WHEN 'YES' THEN 1
ELSE 0
END,
a.ordinal_position,
a.column_comment
FROM INFORMATION_SCHEMA.COLUMNS a
WHERE
a.table_catalog LIKE 'MonCatalogue%'
AND a.table_schema LIKE 'MonSchema%'
AND a.table_name LIKE 'MaTable%'
AND a.column_name LIKE 'MaColonne%'
ORDER BY a.table_schema, a.table_name, a.ordinal_position;