En SQL, las columns
La vista de esquema de información, que devuelve información sobre las columnas, es una vista estándar ISO compatible con la mayoría de los principales RDBMS. Puede utilizar esta vista para obtener información sobre el tipo de datos de una columna.
La mayoría de los principales RDBM también proporcionan otros métodos para obtener información de columnas.
Estos son ejemplos de cómo obtener el tipo de datos de una columna en varias bases de datos SQL.
El information_schema.columns
Ver
Como se mencionó, la mayoría de los RDBMS principales admiten information_schema.columns
ver.
Este es un ejemplo del uso de esa vista para devolver información sobre el tipo de datos de la columna:
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';
Reemplazar Products
y ProductName
con el nombre de su tabla y columna respectivamente. Agregue/reduzca el número de columnas devueltas según sea necesario.
La mayoría de los principales RDBMS proporcionan una forma más concisa de obtener información de tablas y columnas. Algunos de estos se enumeran a continuación.
SQLite
Lo anterior no funciona en SQLite.
La forma más rápida/fácil de hacerlo en SQLite es usar PRAGMA table_info()
declaración:
PRAGMA table_info(Regions);
Alternativamente, puede consultar el sqlite_schema
mesa. En SQLite, cada base de datos contiene un sqlite_schema
tabla que almacena el esquema para esa base de datos. Este es un ejemplo de cómo obtener información sobre las Regions
tabla en el Northwind
base de datos:
SELECT sql
FROM Northwind.sqlite_schema
WHERE tbl_name = 'Regions';
Otra forma de hacerlo es usar el .schema
comando:
.schema Regions
Consulte 5 formas de verificar el tipo de datos de una columna en SQLite para obtener más opciones.
MySQL
MySQL admite el information_schema.columns
vista, pero puede que le resulte más fácil utilizar otro método, como DESCRIBE
declaración:
DESCRIBE Pets;
Eso devuelve información sobre una tabla llamada Pets
.
Puede agregar el nombre de la columna para limitarlo a una sola columna:
DESCRIBE Pets PetName;
Eso devuelve información sobre el PetName
columnas en Pets
mesa.
El DESCRIBE
declaración es en realidad un atajo para SHOW COLUMNS FROM
. Por lo tanto, podría reemplazar DESCRIBE
con SHOW COLUMNS FROM
si lo prefieres.
Consulte 4 formas de verificar el tipo de datos de una columna en MySQL para obtener más opciones y ejemplos.
MariaDB
MariaDB es muy similar a MySQL, por lo que también podemos usar DESCRIBE
declaración con MariaDB.
Y al igual que con MySQL, DESCRIBE
es un atajo para SHOW COLUMNS FROM
.
Entonces, aquí hay un ejemplo del uso de esa sintaxis
SHOW COLUMNS FROM Pets
WHERE Field = 'PetName';
Como puede ver, el DESCRIBE
la sintaxis es mucho más concisa, pero al menos conocemos nuestras opciones.
También debo mencionar que MariaDB también es compatible con el information_schema.columns
ver.
Consulte 4 formas de verificar el tipo de datos de una columna en MariaDB para obtener más opciones.
Servidor SQL
SQL Server también es compatible con information_schema.columns
vista, pero también ofrece algunas otras opciones.
Una opción rápida es usar el sp_help
procedimiento almacenado:
EXEC sp_help Products;
Esto devuelve mucha información sobre la tabla especificada (en este caso, los Products
tabla).
Consulte 3 formas de obtener el tipo de datos de una columna en SQL Server (T-SQL) para obtener más opciones y ejemplos.
PostgreSQL
Postgres también es compatible con information_schema.columns
ver, pero también hay un par de otras opciones.
Si está usando psql, puede usar el \d
comando para obtener rápidamente información sobre tablas, vistas, vistas materializadas, índice, secuencias y tablas foráneas:
\d public.actor
Esto devuelve mucho más que solo el tipo de datos de una columna específica, pero al menos es una opción.
Consulte 3 formas de comprobar el tipo de datos de una columna en PostgreSQL para obtener más información.
Oráculo
En Oracle, podemos usar el DESC
comando:
DESC HR.COUNTRIES;
Eso obtiene información sobre los COUNTRIES
tabla, propiedad de HR
.
O podríamos consultar el ALL_TAB_COLUMNS
ver:
SELECT
COLUMN_NAME,
DATA_TYPE,
DATA_LENGTH,
DATA_PRECISION,
DATA_SCALE
FROM ALL_TAB_COLUMNS
WHERE OWNER = 'HR'
AND TABLE_NAME = 'COUNTRIES';
Consulte 3 formas de verificar el tipo de datos de columna en Oracle para obtener más información.