Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

4 Cara Memeriksa Tipe Data Kolom di MySQL

Berikut adalah empat cara untuk mendapatkan tipe data kolom di MySQL.

The SHOW COLUMNS Pernyataan

SHOW COLUMNS pernyataan menampilkan informasi tentang kolom dalam tabel atau tampilan tertentu. Kita dapat meneruskan nama tabel atau tampilan untuk mengembalikan informasi pada kolomnya:

SHOW COLUMNS FROM Pets;

Hasil:

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

Kami dapat mempersempitnya menjadi hanya satu kolom jika diperlukan:

SHOW COLUMNS FROM Pets
WHERE Field = 'PetName';

Hasil:

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

DESCRIBE / DESC Pernyataan

DESCRIBE pernyataan adalah pintasan untuk SHOW COLUMNS FROM sintaks:

DESCRIBE Pets;

Hasil:

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

Cukup tambahkan nama kolom untuk mempersempitnya menjadi satu kolom:

DESCRIBE Pets PetName;

Hasil:

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

Anda juga dapat menggunakan wildcard:

DESCRIBE Pets 'Pet%';

Hasil:

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

Anda juga dapat mempersingkatnya menjadi DESC :

DESC Pets PetName;

Hasil:

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

information_schema.columns Lihat

information_schema.columns tampilan berisi informasi tentang kolom:

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

Hasil:

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

Dalam hal ini saya menggunakan DATABASE() fungsi untuk mengembalikan nama database saat ini. Anda juga dapat menggunakan nama database tertentu.

mysqlshow Utilitas

mysqlshow utilitas menunjukkan struktur database MySQL (database, tabel, kolom dan indeks).

Utilitas ini dijalankan sendiri. Dengan kata lain, jangan jalankan ini dari dalam MySQL. Sebagai gantinya, buka terminal/jendela baris perintah baru dan jalankan dari sana.

Contoh:

mysqlshow -u root PetHotel Pets PetName

Hasil:

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

Dalam contoh ini, PetHotel adalah nama databasenya, Pets adalah tabelnya, dan PetName adalah kolom yang saya minati.

Saya juga memberikan nama pengguna untuk terhubung. Utilitas menerima beberapa opsi. Lihat dokumentasi MySQL untuk informasi lebih lanjut.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bisakah saya menggabungkan beberapa baris MySQL menjadi satu bidang?

  2. MySQL Trigger untuk mencegah INSERT dalam kondisi tertentu

  3. GALAT 2002 (HY000):Tidak dapat terhubung ke server MySQL lokal melalui soket '/var/run/mysqld/mysqld.sock' (2)

  4. Ubah batas untuk ukuran Baris Mysql terlalu besar

  5. Mengapa MySQL mengizinkan grup berdasarkan kueri TANPA fungsi agregat?