(此文章是记录本人对知识理解的随手笔记,内容不肯定百分百正确,如有错误望指出并谅解)
1、group_concat函数是将查询到的每行结果以某个字段名进行合并,每一行合并的结果以逗号分隔开(可以结合以下例子理解)。
下图是没使用group_concat函数进行合并前的查询结果:
下图是使用group_concat函数进行合并后的结果,以table_name字段名合并成一行:
2、information_schema是mysql自带的一个信息数据库,保存着关于MySQL服务器所维护的所有其他数据库的信息。
3、tables是information_schema数据库中的一个表,表中储存了数据库的库名以及各个数据库中的表名等信息,可以根据数据库的库名查询到该数据库包含的表有哪些。
4、--+ 是mysql中的注释符号,--+ 后面的内容会被注释掉。
5、所以将group_concat(table_name) from information_schema.tables where table_schema='security'--+ 翻译成人话就是:
从information_schema数据库中的tables表中查找数据库security所含有的表有哪些
6、附加信息:
在information_schema数据库中还可以利用的表:
schema_name 储存了所有数据库的库名
table_schema 储存了数据库名
tables 储存了数据库库名,以及该库中包含的表名
table_schema 储存了数据库名
table_name 储存了表名
group_concat(column_name) from information_schema.columns where table_schema='security'
输出所有表中的所有列名: