How do I use `SHOW COLUMNS` as a valid data source for a table?



For this, you can use INFORMATION_SCHEMA.COLUMNS as shown in the following syntax −

SELECT *FROM (SELECT *FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME= 'yourTableName') anyAliasName;

Let us first create a table:

mysql> create table DemoTable (    StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,    StudentFirstName varchar(20),    StudentLastName varchar(20),    StudentAge int ); Query OK, 0 rows affected (1.51 sec)

Here is the query to use `SHOW COLUMNS` as a valid data source −

mysql> SELECT *FROM (SELECT *FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME= 'DemoTable')tbl;

This will produce the following output −

+---------------+--------------+-------------+------------------+------------------+----------------+-------------+-----------+--------------------------+------------------------+-------------------+---------------+--------------------+--------------------+-----------------+-------------+------------+----------------+---------------------------------+----------------+-----------------------+--------+ | TABLE_CATALOG | TABLE_SCHEMA | TABLE_NAME | COLUMN_NAME       | ORDINAL_POSITION | COLUMN_DEFAULT | IS_NULLABLE | DATA_TYPE | CHARACTER_MAXIMUM_LENGTH | CHARACTER_OCTET_LENGTH | NUMERIC_PRECISION | NUMERIC_SCALE | DATETIME_PRECISION | CHARACTER_SET_NAME | COLLATION_NAME | COLUMN_TYPE | COLUMN_KEY | EXTRA | PRIVILEGES | COLUMN_COMMENT | GENERATION_EXPRESSION | SRS_ID | +---------------+--------------+-------------+------------------+------------------+----------------+-------------+-----------+--------------------------+------------------------+-------------------+---------------+--------------------+--------------------+-----------------+-------------+------------+----------------+---------------------------------+----------------+-----------------------+--------+ | def           | sample       | DemoTable   | StudentId        | 1                | NULL           | NO          | int       | NULL                     | NULL | 10 | 0 | NULL | NULL | NULL | int(11) | PRI | auto_increment | select,insert,update,references | | | NULL | | def           | sample       | DemoTable   | StudentFirstName | 2                | NULL           | YES         | varchar   | 20                       | 60 | NULL | NULL | NULL | utf8 | utf8_general_ci | varchar(20) | | | select,insert,update,references | | | NULL | | def           | sample       | DemoTable   | StudentLastName  | 3                | NULL           | YES         | varchar   | 20                       | 60 | NULL | NULL | NULL | utf8 | utf8_general_ci | varchar(20) | | | select,insert,update,references | | | NULL | | def           | sample       | DemoTable   | StudentAge       | 4                | NULL           | YES         | int       | NULL                     | NULL                   | 10 | 0 | NULL | NULL | NULL | int(11) | | | select,insert,update,references | | | NULL | +---------------+--------------+-------------+------------------+------------------+----------------+-------------+-----------+--------------------------+------------------------+-------------------+---------------+--------------------+--------------------+-----------------+-------------+------------+----------------+---------------------------------+----------------+-----------------------+--------+ 4 rows in set (0.00 sec)
Updated on: 2019-07-30T22:30:25+05:30

142 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements