Mysql
 sql >> Datenbank >  >> RDS >> Mysql

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

Hier sind vier Möglichkeiten, den Datentyp einer Spalte in MySQL 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 Pets;

Ergebnis:

+-----------+-------------+------+-----+---------+-------+
| Field     | Type        | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| PetId     | int         | NO   | PRI | NULL    |       |
| PetTypeId | int         | NO   |     | NULL    |       |
| OwnerId   | int         | NO   |     | NULL    |       |
| PetName   | varchar(60) | NO   |     | NULL    |       |
| DOB       | date        | YES  |     | NULL    |       |
+-----------+-------------+------+-----+---------+-------+

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

SHOW COLUMNS FROM Pets
WHERE Field = 'PetName';

Ergebnis:

+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| PetName | varchar(60) | NO   |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+

Der DESCRIBE / DESC Erklärung

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

DESCRIBE Pets;

Ergebnis:

+-----------+-------------+------+-----+---------+-------+
| Field     | Type        | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| PetId     | int         | NO   | PRI | NULL    |       |
| PetTypeId | int         | NO   |     | NULL    |       |
| OwnerId   | int         | NO   |     | NULL    |       |
| PetName   | varchar(60) | NO   |     | NULL    |       |
| DOB       | date        | YES  |     | NULL    |       |
+-----------+-------------+------+-----+---------+-------+

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

DESCRIBE Pets PetName;

Ergebnis:

+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| PetName | varchar(60) | NO   |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+

Sie können auch Platzhalter verwenden:

DESCRIBE Pets 'Pet%';

Ergebnis:

+-----------+-------------+------+-----+---------+-------+
| Field     | Type        | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| PetId     | int         | NO   | PRI | NULL    |       |
| PetTypeId | int         | NO   |     | NULL    |       |
| PetName   | varchar(60) | NO   |     | NULL    |       |
+-----------+-------------+------+-----+---------+-------+

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

DESC Pets PetName;

Ergebnis:

+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| PetName | varchar(60) | 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 = 'Pets' 
AND COLUMN_NAME = 'PetName';

Ergebnis:

+-------------+-----------+------------+--------------+
| COLUMN_NAME | DATA_TYPE | MAX_LENGTH | OCTET_LENGTH |
+-------------+-----------+------------+--------------+
| PetName     | varchar   |         60 |          240 |
+-------------+-----------+------------+--------------+

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 mysqlshow Dienstprogramm

Die mysqlshow Dienstprogramm zeigt die Struktur einer MySQL-Datenbank (Datenbanken, Tabellen, Spalten und Indizes).

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

Beispiel:

mysqlshow -u root PetHotel Pets PetName

Ergebnis:

+---------+-------------+--------------------+------+-----+---------+-------+---------------------------------+---------+
| Field   | Type        | Collation          | Null | Key | Default | Extra | Privileges                      | Comment |
+---------+-------------+--------------------+------+-----+---------+-------+---------------------------------+---------+
| PetName | varchar(60) | utf8mb4_0900_ai_ci | NO   |     |         |       | select,insert,update,references |         |
+---------+-------------+--------------------+------+-----+---------+-------+---------------------------------+---------+

In diesem Beispiel PetHotel ist der Name der Datenbank, Pets ist die Tabelle und PetName ist die Spalte, die mich interessiert.

Ich habe auch den Benutzernamen angegeben, mit dem eine Verbindung hergestellt werden soll. Das Dienstprogramm akzeptiert einige Optionen. Weitere Informationen finden Sie in der MySQL-Dokumentation.