sql >> Database teknologi >  >> RDS >> MariaDB

4 måder at kontrollere en kolonnes datatype i MariaDB

MariaDB giver flere måder at returnere datatypen for en kolonne på. Her er fire måder at få datatypen for en given kolonne i MariaDB.

SHOW COLUMNS Erklæring

SHOW COLUMNS sætning viser information om kolonnerne i en given tabel eller visning. Vi kan videregive navnet på tabellen eller visningen for at returnere oplysninger om dens kolonner:

SHOW COLUMNS FROM Products;

Resultat:

+--------------------+---------------+------+-----+---------+-------+
| 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    |       |
+--------------------+---------------+------+-----+---------+-------+

Vi kan indsnævre det til kun én kolonne, hvis det kræves:

SHOW COLUMNS FROM Products
WHERE Field = 'ProductName';

Resultat:

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

DESCRIBE / DESC Erklæring

DESCRIBE statement er en genvej til SHOW COLUMNS FROM syntaks:

DESCRIBE Products;

Resultat:

+--------------------+---------------+------+-----+---------+-------+
| 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    |       |
+--------------------+---------------+------+-----+---------+-------+

Du skal blot tilføje kolonnenavnet for at indsnævre det til én kolonne:

DESCRIBE Products ProductName;

Resultat:

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

Du kan også bruge jokertegn:

DESCRIBE Products 'Product%';

Resultat:

+--------------------+---------------+------+-----+---------+-------+
| 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    |       |
+--------------------+---------------+------+-----+---------+-------+

Du kan også forkorte den til DESC :

DESC Products ProductName;

Resultat:

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

information_schema.columns Vis

information_schema.columns visningen indeholder oplysninger om kolonner:

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';

Resultat:

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

I dette tilfælde brugte jeg DATABASE() funktion for at returnere navnet på den aktuelle database. Du kan alternativt bruge navnet på en specifik database.

mariadb-show Hjælpeprogram

mariadb-show værktøj viser strukturen af ​​en MariaDB-database (databaser, tabeller, kolonner og indekser).

Dette hjælpeprogram køres på egen hånd. Med andre ord, kør ikke dette inde fra MariaDB. Åbn i stedet et nyt terminal-/kommandolinjevindue og kør det derfra.

Eksempel:

mariadb-show KrankyKranes Products ProductName

Resultat:

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

I dette eksempel, KrankyKranes er navnet på databasen, Products er tabellen og ProductName er den kolonne, jeg er interesseret i.

Dette værktøj kan også tilgås ved hjælp af mysqlshow sted for mariadb-show . Værktøjet accepterer en hel del muligheder. Se MariaDBs dokumentation for mere information.


  1. Filtrering af data med JDBC RowSet

  2. Undtagelse ORA-08103:objekt eksisterer ikke længere ved brug af setfetchsize af Hibernate

  3. Parametrér en SQL IN-sætning

  4. Er cirkulære referencer acceptable i databasen?