243 mysql获取某个表中除了某个字段名外的所有字段名

SELECT
    GROUP_CONCAT( column_name SEPARATOR ',' )
FROM
    information_schema.COLUMNS
WHERE
    column_name <> '你不想要的字段名'
    AND table_name = '表名'
GROUP BY
    table_name;

现一个表中有很多字段,但我不想要其中某一个字段,手打出来字段太多,不方便。

使用上面的SQL就可以了。

最近看TP5的文档,发现有字段排除的功能

字段排除
如果我希望获取排除数据表中的content字段(文本字段的值非常耗内存)之外的所有字段值,我们就可以使用field方法的排除功能,例如下面的方式就可以实现所说的功能:

Db::table('think_user')->field('content',true)->select();
则表示获取除了content之外的所有字段,要排除更多的字段也可以:

Db::table('think_user')->field('user_id,content',true)->select();
//或者用
Db::table('think_user')->field(['user_id','content'],true)->select();
注意的是 字段排除功能不支持跨表和join操作。

猜你喜欢

转载自blog.csdn.net/phpstory/article/details/111605015