Mysql
 sql >> Database >  >> RDS >> Mysql

4 modi per controllare il tipo di dati di una colonna in MySQL

Ecco quattro modi per ottenere il tipo di dati di una colonna in MySQL.

Le SHOW COLUMNS Dichiarazione

Le SHOW COLUMNS istruzione visualizza informazioni sulle colonne in una determinata tabella o vista. Possiamo passare il nome della tabella o della vista per restituire informazioni sulle sue colonne:

SHOW COLUMNS FROM Pets;

Risultato:

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

Possiamo restringerlo a una sola colonna, se necessario:

SHOW COLUMNS FROM Pets
WHERE Field = 'PetName';

Risultato:

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

Il DESCRIBE / DESC Dichiarazione

Il DESCRIBE istruzione è una scorciatoia per SHOW COLUMNS FROM sintassi:

DESCRIBE Pets;

Risultato:

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

Basta aggiungere il nome della colonna per restringerla a una colonna:

DESCRIBE Pets PetName;

Risultato:

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

Puoi anche utilizzare i caratteri jolly:

DESCRIBE Pets 'Pet%';

Risultato:

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

Puoi anche abbreviarlo in DESC :

DESC Pets PetName;

Risultato:

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

Il information_schema.columns Visualizza

Il information_schema.columns view contiene informazioni sulle colonne:

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

Risultato:

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

In questo caso ho usato il DATABASE() funzione per restituire il nome del database corrente. In alternativa potresti usare il nome di un database specifico.

Il mysqlshow Utilità

Il mysqlshow utilità mostra la struttura di un database MySQL (database, tabelle, colonne e indici).

Questa utilità viene eseguita da sola. In altre parole, non eseguirlo da MySQL. Invece, apri una nuova finestra di terminale/riga di comando ed eseguila da lì.

Esempio:

mysqlshow -u root PetHotel Pets PetName

Risultato:

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

In questo esempio, PetHotel è il nome del database, Pets è la tabella e PetName è la colonna che mi interessa.

Ho anche fornito il nome utente per il quale connettersi. L'utilità accetta alcune opzioni. Consulta la documentazione di MySQL per ulteriori informazioni.