概述
本文主要介绍如何查询表结构和如何多表聚合查询数据。
表结构查询
SELECT
COLUMN_NAME 列名,
COLUMN_TYPE 数据类型,
DATA_TYPE 字段类型,
CHARACTER_MAXIMUM_LENGTH 长度,
IS_NULLABLE 是否为空,
COLUMN_DEFAULT 默认值,
COLUMN_COMMENT 备注
FROM
INFORMATION_SCHEMA. COLUMNS
WHERE
-- developerclub为数据库名称,到时候只需要修改成你要导出表结构的数据库即可
table_schema = 'business_test'
AND -- article为表名,到时候换成你要导出的表的名称
-- 如果不写的话,默认会查询出所有表中的数据,这样可能就分不清到底哪些字段是哪张表中的了,所以还是建议写上要导出的名名称
table_name = 'user'
多表复合查询
需求,一对多表结构,需要在多表中查询关联记录,并CONCAT某个字段做返回值。
例如:多表中,userName字段,需要查询的结果为
单表ID 张三,李四,王五, 其他字段
SELECT
po.id AS policyId,
po.preservation_id AS preservationId,
group_concat(ipu. NAME) AS applicant
FROM
insurance_policy po
LEFT JOIN insurance_policy_user ipu ON po.id = ipu.insurance_policy_id
WHERE
ipu.relation_user_type = 'APPLICANT'
AND po.status = '0'
AND preservation_id IN
#{item}
GROUP BY ipu.insurance_policy_id
总结
在业务中比较常用,可以用来生成交付文档。