Dưới đây là bốn cách để lấy kiểu dữ liệu của một cột trong MySQL.
SHOW COLUMNS Tuyên bố
SHOW COLUMNS câu lệnh hiển thị thông tin về các cột trong một bảng hoặc dạng xem nhất định. Chúng ta có thể chuyển tên của bảng hoặc dạng xem để trả về thông tin trên các cột của nó:
SHOW COLUMNS FROM Pets; Kết quả:
+-----------+-------------+------+-----+---------+-------+ | 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 | | +-----------+-------------+------+-----+---------+-------+
Chúng tôi có thể thu hẹp nó xuống chỉ còn một cột nếu được yêu cầu:
SHOW COLUMNS FROM Pets
WHERE Field = 'PetName'; Kết quả:
+---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | PetName | varchar(60) | NO | | NULL | | +---------+-------------+------+-----+---------+-------+
DESCRIBE / DESC Tuyên bố
DESCRIBE câu lệnh là một phím tắt cho SHOW COLUMNS FROM cú pháp:
DESCRIBE Pets; Kết quả:
+-----------+-------------+------+-----+---------+-------+ | 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 | | +-----------+-------------+------+-----+---------+-------+
Chỉ cần nối tên cột để thu hẹp nó thành một cột:
DESCRIBE Pets PetName; Kết quả:
+---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | PetName | varchar(60) | NO | | NULL | | +---------+-------------+------+-----+---------+-------+
Bạn cũng có thể sử dụng các ký tự đại diện:
DESCRIBE Pets 'Pet%'; Kết quả:
+-----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------+-------------+------+-----+---------+-------+ | PetId | int | NO | PRI | NULL | | | PetTypeId | int | NO | | NULL | | | PetName | varchar(60) | NO | | NULL | | +-----------+-------------+------+-----+---------+-------+
Bạn cũng có thể rút ngắn nó thành DESC :
DESC Pets PetName; Kết quả:
+---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | PetName | varchar(60) | NO | | NULL | | +---------+-------------+------+-----+---------+-------+
information_schema.columns Xem
information_schema.columns chế độ xem chứa thông tin về các cột:
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'; Kết quả:
+-------------+-----------+------------+--------------+ | COLUMN_NAME | DATA_TYPE | MAX_LENGTH | OCTET_LENGTH | +-------------+-----------+------------+--------------+ | PetName | varchar | 60 | 240 | +-------------+-----------+------------+--------------+
Trong trường hợp này, tôi đã sử dụng DATABASE() hàm trả về tên của cơ sở dữ liệu hiện tại. Ngoài ra, bạn có thể sử dụng tên của một cơ sở dữ liệu cụ thể.
mysqlshow Tiện ích
mysqlshow tiện ích hiển thị cấu trúc của cơ sở dữ liệu MySQL (cơ sở dữ liệu, bảng, cột và chỉ mục).
Tiện ích này được chạy trên chính nó. Nói cách khác, không chạy điều này từ bên trong MySQL. Thay vào đó, hãy mở một cửa sổ dòng lệnh / dòng lệnh mới và chạy nó từ đó.
Ví dụ:
mysqlshow -u root PetHotel Pets PetName Kết quả:
+---------+-------------+--------------------+------+-----+---------+-------+---------------------------------+---------+ | Field | Type | Collation | Null | Key | Default | Extra | Privileges | Comment | +---------+-------------+--------------------+------+-----+---------+-------+---------------------------------+---------+ | PetName | varchar(60) | utf8mb4_0900_ai_ci | NO | | | | select,insert,update,references | | +---------+-------------+--------------------+------+-----+---------+-------+---------------------------------+---------+
Trong ví dụ này, PetHotel là tên của cơ sở dữ liệu, Pets là bảng và PetName là cột mà tôi quan tâm.
Tôi cũng đã cung cấp tên người dùng để kết nối. Tiện ích chấp nhận khá nhiều tùy chọn. Xem tài liệu MySQL để biết thêm thông tin.