Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

'SHOW COLUMNS'를 테이블의 유효한 데이터 소스로 어떻게 사용합니까?

<시간/>

이를 위해 다음 구문과 같이 INFORMATION_SCHEMA.COLUMNS를 사용할 수 있습니다. -

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

먼저 테이블을 생성해 보겠습니다.

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)

다음은 `SHOW COLUMNS`를 유효한 데이터 소스로 사용하는 쿼리입니다 -

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

이것은 다음과 같은 출력을 생성합니다 -

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