En SQL, les columns
La vue de schéma d'information, qui renvoie des informations sur les colonnes, est une vue standard ISO prise en charge par la plupart des principaux SGBDR. Vous pouvez utiliser cette vue pour obtenir des informations sur le type de données d'une colonne.
La plupart des principaux RDBM fournissent également d'autres méthodes pour obtenir des informations sur les colonnes.
Voici des exemples d'obtention du type de données d'une colonne dans diverses bases de données SQL.
Les information_schema.columns
Afficher
Comme mentionné, la plupart des principaux SGBDR prennent en charge le information_schema.columns
vue.
Voici un exemple d'utilisation de cette vue pour renvoyer des informations sur le type de données de colonne :
SELECT
COLUMN_NAME,
DATA_TYPE,
CHARACTER_MAXIMUM_LENGTH AS MAX_LENGTH,
CHARACTER_OCTET_LENGTH AS OCTET_LENGTH
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Products'
AND COLUMN_NAME = 'ProductName';
Remplacer Products
et ProductName
avec le nom de votre table et colonne respectivement. Ajoutez/réduisez le nombre de colonnes renvoyées selon les besoins.
La plupart des principaux SGBDR offrent un moyen plus concis d'obtenir des informations sur les tables et les colonnes. Certains d'entre eux sont répertoriés ci-dessous.
SQLite
Ce qui précède ne fonctionne pas dans SQLite.
Le moyen le plus rapide/le plus simple de le faire dans SQLite est d'utiliser le PRAGMA table_info()
déclaration :
PRAGMA table_info(Regions);
Alternativement, vous pouvez interroger le sqlite_schema
table. Dans SQLite, chaque base de données contient un sqlite_schema
table qui stocke le schéma de cette base de données. Voici un exemple d'obtention d'informations sur les Regions
table dans le Northwind
base de données :
SELECT sql
FROM Northwind.sqlite_schema
WHERE tbl_name = 'Regions';
Une autre façon de le faire est d'utiliser le .schema
commande :
.schema Regions
Voir 5 façons de vérifier le type de données d'une colonne dans SQLite pour plus d'options.
MySQL
MySQL prend en charge le information_schema.columns
vue, mais vous trouverez peut-être plus facile d'utiliser une autre méthode, telle que le DESCRIBE
déclaration :
DESCRIBE Pets;
Cela renvoie des informations sur une table appelée Pets
.
Vous pouvez ajouter le nom de la colonne pour le limiter à une seule :
DESCRIBE Pets PetName;
Cela renvoie des informations sur le PetName
colonnes dans les Pets
tableau.
Le DESCRIBE
est en fait un raccourci pour SHOW COLUMNS FROM
. Par conséquent, vous pouvez remplacer DESCRIBE
avec SHOW COLUMNS FROM
si vous préférez.
Voir 4 façons de vérifier le type de données d'une colonne dans MySQL pour plus d'options et d'exemples.
MariaDB
MariaDB est très similaire à MySQL, et nous pouvons donc également utiliser le DESCRIBE
déclaration avec MariaDB.
Et comme avec MySQL, DESCRIBE
est un raccourci pour SHOW COLUMNS FROM
.
Donc, voici un exemple d'utilisation de cette syntaxe
SHOW COLUMNS FROM Pets
WHERE Field = 'PetName';
Comme vous pouvez le voir, le DESCRIBE
la syntaxe est beaucoup plus concise, mais au moins nous connaissons nos options.
Je dois également mentionner que MariaDB prend également en charge le information_schema.columns
vue.
Voir 4 façons de vérifier le type de données d'une colonne dans MariaDB pour plus d'options.
SQL Server
SQL Server prend également en charge le information_schema.columns
vue, mais il fournit également quelques autres options.
Une option rapide consiste à utiliser le sp_help
procédure stockée :
EXEC sp_help Products;
Cela renvoie beaucoup d'informations sur la table spécifiée (dans ce cas, le Products
tableau).
Voir 3 façons d'obtenir le type de données d'une colonne dans SQL Server (T-SQL) pour plus d'options et d'exemples.
PostgreSQL
Postgres prend également en charge le information_schema.columns
vue, mais il y a aussi quelques autres options.
Si vous utilisez psql, vous pouvez utiliser le \d
commande pour obtenir rapidement des informations sur les tables, les vues, les vues matérialisées, l'index, les séquences et les tables étrangères :
\d public.actor
Cela renvoie bien plus que le type de données d'une colonne spécifique, mais au moins c'est une option.
Voir 3 façons de vérifier le type de données d'une colonne dans PostgreSQL pour en savoir plus.
Oracle
Dans Oracle, nous pouvons utiliser le DESC
commande :
DESC HR.COUNTRIES;
Cela obtient des informations sur les COUNTRIES
table, détenue par HR
.
Ou nous pourrions interroger le ALL_TAB_COLUMNS
afficher :
SELECT
COLUMN_NAME,
DATA_TYPE,
DATA_LENGTH,
DATA_PRECISION,
DATA_SCALE
FROM ALL_TAB_COLUMNS
WHERE OWNER = 'HR'
AND TABLE_NAME = 'COUNTRIES';
Voir 3 façons de vérifier le type de données de colonne dans Oracle pour plus d'informations.