Mysql
 sql >> Baza danych >  >> RDS >> Mysql

4 sposoby sprawdzenia typu danych kolumny w MySQL

Oto cztery sposoby uzyskania typu danych kolumny w MySQL.

SHOW COLUMNS Oświadczenie

SHOW COLUMNS zestawienie wyświetla informacje o kolumnach w danej tabeli lub widoku. Możemy przekazać nazwę tabeli lub widoku, aby zwrócić informacje o jej kolumnach:

SHOW COLUMNS FROM Pets;

Wynik:

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

W razie potrzeby możemy zawęzić ją do jednej kolumny:

SHOW COLUMNS FROM Pets
WHERE Field = 'PetName';

Wynik:

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

DESCRIBE / DESC Oświadczenie

DESCRIBE instrukcja jest skrótem do SHOW COLUMNS FROM składnia:

DESCRIBE Pets;

Wynik:

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

Wystarczy dołączyć nazwę kolumny, aby zawęzić ją do jednej kolumny:

DESCRIBE Pets PetName;

Wynik:

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

Możesz także użyć symboli wieloznacznych:

DESCRIBE Pets 'Pet%';

Wynik:

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

Możesz również skrócić go do DESC :

DESC Pets PetName;

Wynik:

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

Kolumny information_schema.columns Zobacz

Kolumny information_schema.columns widok zawiera informacje o kolumnach:

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

Wynik:

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

W tym przypadku użyłem DATABASE() funkcja zwracająca nazwę aktualnej bazy danych. Możesz alternatywnie użyć nazwy określonej bazy danych.

mysqlshow Narzędzie

mysqlshow narzędzie pokazuje strukturę bazy danych MySQL (bazy danych, tabele, kolumny i indeksy).

To narzędzie działa samodzielnie. Innymi słowy, nie uruchamiaj tego z poziomu MySQL. Zamiast tego otwórz nowe okno terminala/wiersza poleceń i uruchom je stamtąd.

Przykład:

mysqlshow -u root PetHotel Pets PetName

Wynik:

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

W tym przykładzie PetHotel to nazwa bazy danych, Pets to tabela, a PetName to kolumna, która mnie interesuje.

Podałem również nazwę użytkownika, z którą mam się połączyć. Narzędzie akceptuje kilka opcji. Więcej informacji znajdziesz w dokumentacji MySQL.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przedstawiamy ClusterControl 1.4.1 — wydanie ProxySQL

  2. Jak stworzyć bazę danych w MySQL

  3. Przywróć tradycyjną replikację z GTID

  4. Przywróć strukturę tabeli z plików frm i ibd

  5. Objaśnienie struktury MySQL High Availability Framework – część III:scenariusze awarii