mysql中获取表名与字段名的查询语句
1. 查询数据库中所有表名:
SELECT
table_name
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA = 'zhanglq_test'
AND TABLE_TYPE = 'base table';
ps: TABLE_SCHEMA: 用于限定数据库的名称,zhanglq_test是我自己建的库,
information_schema 是系统库, 是mysql自带的,
table_type='base table‘: 限定只查询基表;
2. 查询指定数据库中指定表的所有字段名column_name:
SELECT
table_name
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA = 'zhanglq_test'
AND TABLE_NAME = 'user' ;
ps: TABLE_SCHEMA: 用于限定数据库的名称,
TABLE_NAME = 'user' : 限定表名
3. 获取某个表的查询sql: 如果某个表的字段过多, 但是我们还想对其中的某些字段进行操作,比如,隐藏手机号后四位, 获取身份证号前14位等等,如果一个个字段列出来,不但费时费力的还容易出错,此时我们可以试用以下sql获取查询语句:
SELECT
t.TABLE_NAME , CONCAT("select ",GROUP_CONCAT(t.COLUMN_NAME), " FROM " , t.TABLE_NAME , ";
")
FROM
information_schema.`COLUMNS` t
WHERE
t.TABLE_SCHEMA = 'zhanglq_test'
AND t.TABLE_NAME in ('order_info')
AND t.COLUMN_NAME != 'id'
GROUP BY t.TABLE_NAME ;
执行结果如下图:
文章图片
执行结果的第二列就是一条select 查询结果,当然也可以同时过去吧多个表的select查询语句, 只需要在 t.TABLE_NAME in ('order_info')中添加上相应的表即可, 如果不想获取某一列,需要加上该条件: t.COLUMN_NAME != 'id'.
【mysql中获取表名与字段名的查询语句】
推荐阅读
- 热闹中的孤独
- Shell-Bash变量与运算符
- JS中的各种宽高度定义及其应用
- 2021-02-17|2021-02-17 小儿按摩膻中穴-舒缓咳嗽
- 深入理解Go之generate
- 异地恋中,逐渐适应一个人到底意味着什么()
- 我眼中的佛系经纪人
- 《魔法科高中的劣等生》第26卷(Invasion篇)发售
- “成长”读书社群招募
- 2020-04-07vue中Axios的封装和API接口的管理