MariaDB
 sql >> Datenbank >  >> RDS >> MariaDB

4 Möglichkeiten, den Datentyp einer Spalte in MariaDB zu überprüfen

MariaDB bietet mehrere Möglichkeiten, den Datentyp einer Spalte zurückzugeben. Hier sind vier Möglichkeiten, den Datentyp einer bestimmten Spalte in MariaDB abzurufen.

Die SHOW COLUMNS Erklärung

Die SHOW COLUMNS -Anweisung zeigt Informationen zu den Spalten in einer bestimmten Tabelle oder Ansicht an. Wir können den Namen der Tabelle oder Ansicht übergeben, um Informationen zu ihren Spalten zurückzugeben:

SHOW COLUMNS FROM Products;

Ergebnis:

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

Wir können es bei Bedarf auf nur eine Spalte eingrenzen:

SHOW COLUMNS FROM Products
WHERE Field = 'ProductName';

Ergebnis:

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

Der DESCRIBE / DESC Erklärung

Die DESCRIBE -Anweisung ist eine Abkürzung für SHOW COLUMNS FROM Syntax:

DESCRIBE Products;

Ergebnis:

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

Hängen Sie einfach den Spaltennamen an, um ihn auf eine Spalte einzugrenzen:

DESCRIBE Products ProductName;

Ergebnis:

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

Sie können auch Platzhalter verwenden:

DESCRIBE Products 'Product%';

Ergebnis:

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

Sie können es auch zu DESC kürzen :

DESC Products ProductName;

Ergebnis:

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

Die information_schema.columns Anzeigen

Die information_schema.columns Ansicht enthält Informationen über Spalten:

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

Ergebnis:

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

In diesem Fall habe ich die DATABASE() verwendet Funktion, um den Namen der aktuellen Datenbank zurückzugeben. Alternativ können Sie auch den Namen einer bestimmten Datenbank verwenden.

Die mariadb-show Dienstprogramm

Die mariadb-show Dienstprogramm zeigt die Struktur einer MariaDB-Datenbank (Datenbanken, Tabellen, Spalten und Indizes).

Dieses Dienstprogramm wird eigenständig ausgeführt. Mit anderen Worten, führen Sie dies nicht innerhalb von MariaDB aus. Öffnen Sie stattdessen ein neues Terminal-/Befehlszeilenfenster und führen Sie es von dort aus aus.

Beispiel:

mariadb-show KrankyKranes Products ProductName

Ergebnis:

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

In diesem Beispiel KrankyKranes ist der Name der Datenbank, Products ist die Tabelle und ProductName ist die Spalte, die mich interessiert.

Auf dieses Dienstprogramm kann auch mit mysqlshow zugegriffen werden Ort der mariadb-show . Das Dienstprogramm akzeptiert einige Optionen. Weitere Informationen finden Sie in der MariaDB-Dokumentation.