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.