除了键入选择 *。在 Mysql [重复]

Posted

技术标签:

【中文标题】除了键入选择 *。在 Mysql [重复]【英文标题】:Except key in select *. in Mysql [duplicate] 【发布时间】:2013-06-09 10:15:08 【问题描述】:

如何在 mysql 中选择除任何特定字段之外的所有字段。

我有一个 countries 表,当我写查询时

SELECT * FROM `countries` WHERE 1

返回国家表的所有记录

但我想要除 continent 之外的所有记录,并且我不想在选择框中手动写入所有字段。

SELECT `id`, `iso`, `ioc`, `iso3`, `fips`, `name`, `continent`, `currency_code`, `currency_name`, `phone_prefix`, `postal_code`, `languages`, `geonameid` FROM `epoker_countries` WHERE 1

【问题讨论】:

看这里***.com/questions/14253994/… 看到这个***.com/questions/9122/… -1 霰弹枪标记。如果是关于 MySQL,为什么要标记 Oracle 和 PostgreSQL?这也是一个常见问题;相当容易找到的答案是“这没有简写”。 @CraigRinger 为什么仅仅因为他们添加了几个额外的标签就通过拒绝投票来阻止新手?您有权进行编辑,但您不能这样做? @KevinPaladin:它仍应作为重复项关闭 - 特别是因为重复项就列在问题旁边,甚至无需搜索。 【参考方案1】:

SQL 不允许您这样做。 但你也许可以做一个视图:

CREATE VIEW filter_countrie AS
SELECT `id`, `iso`, `ioc`, `iso3`, `fips`, `name`, `continent`, `currency_code`, 
       `currency_name`, `phone_prefix`, `postal_code`, `languages`, `geonameid` 
  FROM `countries` 
 WHERE 1

然后您就可以通过以下方式查询您的视图

select * from filter_view

【讨论】:

【参考方案2】:

你不能。要么指定确切的字段名,要么指定星号来全选(不推荐)。

为了记录,这些东西被称为列或字段。记录是表中的行。

【讨论】:

【参考方案3】:

不幸的是,它要么是*,要么是您需要的任何字段。没有*, (except col1, col2)

【讨论】:

以上是关于除了键入选择 *。在 Mysql [重复]的主要内容,如果未能解决你的问题,请参考以下文章

根据数组检查mysql结果是不是有重复

在打字稿中键入注释[重复]

如何合并 MySQL 表中的重复行

如何在 C# 中为给定字符串键入 Permutation [重复]

mysql过滤重复数据的问题

如何在选择查询(MySQL)中仅消除连续重复而不是所有重复?