sql >> Base de Datos >  >> RDS >> MariaDB

4 formas de verificar el tipo de datos de una columna en MariaDB

MariaDB proporciona múltiples formas de devolver el tipo de datos de una columna. Aquí hay cuatro formas de obtener el tipo de datos de una columna dada en MariaDB.

El SHOW COLUMNS Declaración

El SHOW COLUMNS muestra información sobre las columnas en una tabla o vista determinada. Podemos pasar el nombre de la tabla o vista para devolver información sobre sus columnas:

SHOW COLUMNS FROM Products;

Resultado:

+--------------------+---------------+------+-----+---------+-------+
| Field              | Type          | Null | Key | Default | Extra |
+--------------------+---------------+------+-----+---------+-------+
| ProductId          | int(11)       | NO   | PRI | NULL    |       |
| VendorId           | int(11)       | NO   | MUL | NULL    |       |
| ProductName        | varchar(255)  | NO   |     | NULL    |       |
| ProductPrice       | decimal(8,2)  | NO   |     | NULL    |       |
| ProductDescription | varchar(1000) | YES  |     | NULL    |       |
+--------------------+---------------+------+-----+---------+-------+

Podemos reducirlo a una sola columna si es necesario:

SHOW COLUMNS FROM Products
WHERE Field = 'ProductName';

Resultado:

+-------------+--------------+------+-----+---------+-------+
| Field       | Type         | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| ProductName | varchar(255) | NO   |     | NULL    |       |
+-------------+--------------+------+-----+---------+-------+

El DESCRIBE / DESC Declaración

El DESCRIBE declaración es un atajo para SHOW COLUMNS FROM sintaxis:

DESCRIBE Products;

Resultado:

+--------------------+---------------+------+-----+---------+-------+
| Field              | Type          | Null | Key | Default | Extra |
+--------------------+---------------+------+-----+---------+-------+
| ProductId          | int(11)       | NO   | PRI | NULL    |       |
| VendorId           | int(11)       | NO   | MUL | NULL    |       |
| ProductName        | varchar(255)  | NO   |     | NULL    |       |
| ProductPrice       | decimal(8,2)  | NO   |     | NULL    |       |
| ProductDescription | varchar(1000) | YES  |     | NULL    |       |
+--------------------+---------------+------+-----+---------+-------+

Simplemente agregue el nombre de la columna para limitarlo a una sola columna:

DESCRIBE Products ProductName;

Resultado:

+-------------+--------------+------+-----+---------+-------+
| Field       | Type         | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| ProductName | varchar(255) | NO   |     | NULL    |       |
+-------------+--------------+------+-----+---------+-------+

También puede utilizar comodines:

DESCRIBE Products 'Product%';

Resultado:

+--------------------+---------------+------+-----+---------+-------+
| Field              | Type          | Null | Key | Default | Extra |
+--------------------+---------------+------+-----+---------+-------+
| ProductId          | int(11)       | NO   | PRI | NULL    |       |
| ProductName        | varchar(255)  | NO   |     | NULL    |       |
| ProductPrice       | decimal(8,2)  | NO   |     | NULL    |       |
| ProductDescription | varchar(1000) | YES  |     | NULL    |       |
+--------------------+---------------+------+-----+---------+-------+

También puede acortarlo a DESC :

DESC Products ProductName;

Resultado:

+-------------+--------------+------+-----+---------+-------+
| Field       | Type         | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| ProductName | varchar(255) | NO   |     | NULL    |       |
+-------------+--------------+------+-----+---------+-------+

El information_schema.columns Ver

El information_schema.columns la vista contiene información sobre las columnas:

SELECT 
    COLUMN_NAME, 
    DATA_TYPE, 
    CHARACTER_MAXIMUM_LENGTH AS MAX_LENGTH, 
    CHARACTER_OCTET_LENGTH AS OCTET_LENGTH 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'Products' 
AND COLUMN_NAME = 'ProductName';

Resultado:

+-------------+-----------+------------+--------------+
| COLUMN_NAME | DATA_TYPE | MAX_LENGTH | OCTET_LENGTH |
+-------------+-----------+------------+--------------+
| ProductName | varchar   |        255 |         1020 |
+-------------+-----------+------------+--------------+

En este caso utilicé DATABASE() función para devolver el nombre de la base de datos actual. Alternativamente, podría usar el nombre de una base de datos específica.

El mariadb-show Utilidad

El mariadb-show La utilidad muestra la estructura de una base de datos MariaDB (bases de datos, tablas, columnas e índices).

Esta utilidad se ejecuta por sí sola. En otras palabras, no ejecute esto desde MariaDB. En su lugar, abra una nueva ventana de terminal/línea de comandos y ejecútela desde allí.

Ejemplo:

mariadb-show KrankyKranes Products ProductName

Resultado:

+-------------+--------------+--------------------+------+-----+---------+-------+---------------------------------+---------+
| Field       | Type         | Collation          | Null | Key | Default | Extra | Privileges                      | Comment |
+-------------+--------------+--------------------+------+-----+---------+-------+---------------------------------+---------+
| ProductName | varchar(255) | utf8mb4_general_ci | NO   |     |         |       | select,insert,update,references |         |
+-------------+--------------+--------------------+------+-----+---------+-------+---------------------------------+---------+

En este ejemplo, KrankyKranes es el nombre de la base de datos, Products es la tabla y ProductName es la columna que me interesa.

También se puede acceder a esta utilidad usando mysqlshow lugar de mariadb-show . La utilidad acepta bastantes opciones. Consulte la documentación de MariaDB para obtener más información.