sql >> Base de Datos >  >> NoSQL >> MongoDB

Cómo verificar el tipo de datos de una columna en SQL

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.