Để tìm số lượng cột trong bảng MySQL, sử dụng hàm COUNT(*) kết hợp với INFORMATION_SCHEMA.COLUMNS và mệnh đề WHERE.
Tạo bảng mẫu
mysql> CREATE TABLE NumberOfColumns (
-> id INT,
-> FirstName VARCHAR(100),
-> LastName VARCHAR(100),
-> Age INT,
-> Address VARCHAR(100)
-> );
Query OK, 0 rows affected (0.70 sec)
Chèn dữ liệu
mysql> INSERT INTO NumberOfColumns VALUES(1,'Shane','Watson',36,'Australia'); Query OK, 1 row affected (0.15 sec) mysql> INSERT INTO NumberOfColumns VALUES(2,'Carol','Taylor',24,'US'); Query OK, 1 row affected (0.13 sec)
Hiển thị dữ liệu
mysql> SELECT * FROM NumberOfColumns;
+------+-----------+----------+------+-----------+ | id | FirstName | LastName | Age | Address | +------+-----------+----------+------+-----------+ | 1 | Shane | Watson | 36 | Australia | | 2 | Carol | Taylor | 24 | US | +------+-----------+----------+------+-----------+ 2 rows in set (0.00 sec)
Cú pháp đếm số cột
SELECT COUNT(*) AS TenBatKy FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'TenBangCuaBan';
Áp dụng cho bảng NumberOfColumns
mysql> SELECT COUNT(*) AS NUMBEROFCOLUMNS
-> FROM INFORMATION_SCHEMA.COLUMNS
-> WHERE TABLE_NAME = 'NumberOfColumns';
+-----------------+ | NUMBEROFCOLUMNS | +-----------------+ | 5 | +-----------------+ 1 row in set (0.00 sec)
Truy vấn thay thế (có chỉ định database)
SELECT COUNT(*) AS TenBatKy FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'TenDatabaseCuaBan' AND TABLE_NAME = 'TenBangCuaBan';
mysql> SELECT COUNT(*) AS NUMBEROFCOLUMNS
-> FROM INFORMATION_SCHEMA.COLUMNS
-> WHERE TABLE_SCHEMA = 'business' AND TABLE_NAME = 'NumberOfColumns';
+-----------------+ | NUMBEROFCOLUMNS | +-----------------+ | 5 | +-----------------+ 1 row in set (0.00 sec)