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.