使用场景
因为某种需求,想要获取到mysql中所有的数据类型
实现方案:
INFORMATION_SCHEMA是每个MySQL实例中的数据库,该实例存储有关MySQL服务器维护的所有其他数据库的信息。
1.获取所有数据类型
SELECT DATA_TYPE FROM information_schema.COLUMNS GROUP BY DATA_TYPE
| DATA_TYPE |
|---|
| varchar |
| int |
| longtext |
| bigint |
| enum |
| json |
| text |
| mediumtext |
| timestamp |
| datetime |
| set |
| binary |
| char |
| float |
| varbinary |
| tinyint |
| decimal |
| blob |
| double |
| mediumblob |
| smallint |
| time |
| date |
| tinytext |
| longblob |
2.获取指定数据库中已使用的数据类型
select DATA_TYPE from information_schema.COLUMNS
where TABLE_SCHEMA='outsource' GROUP BY DATA_TYPE
| DATA_TYPE |
|---|
| int |
| varchar |
| text |
| datetime |
| tinyint |
| double |
| smallint |
| char |
| date |
| bigint |
| decimal |
| longtext |
| mediumtext |
| tinytext |
| time |
3.获取指定数据库-指定表-指定字段的数据类型
select DATA_TYPE from information_schema.COLUMNS
where TABLE_SCHEMA='outsource'
and TABLE_NAME='aa'
and column_name = 'id'