MySQL:选择多个字段

MySQL:选择多个字段,mysql,sql,Mysql,Sql,如果SQL查询包含我需要的所有字段,它将非常大。 如何在SQL查询中选择从F3到F100以及从F150到F200的字段 SELECT F3 to F100, F150 to F200 FROM database; 有没有可能??? 表结构更改不可用您必须: 1-手动选择所有列。或 2-do 然后只获取所需的列。没有快捷方式,您必须以某种方式列出所需的字段。如果所选字段始终相同,则应为其创建一个视图,如下所示: CREATE VIEW SomeView AS SELECT F3,

如果SQL查询包含我需要的所有字段,它将非常大。 如何在SQL查询中选择从F3到F100以及从F150到F200的字段

SELECT F3 to F100, F150 to F200 FROM database;
有没有可能??? 表结构更改不可用

您必须:

1-手动选择所有列。或

2-do


然后只获取所需的列。

没有快捷方式,您必须以某种方式列出所需的字段。如果所选字段始终相同,则应为其创建一个视图,如下所示:

CREATE VIEW SomeView AS
SELECT
    F3,
    ...
    F100
FROM
    SomeTable
然后选择like:

SELECT * FROM SomeView

但同样,您必须至少列出一次字段。

从数据库中选择F3到F100、F150到F200

无法执行此查询

必须指定所有列的名称

如从数据库中选择F1、f2、f3

你不能

但如果无法修改表结构来解决数据库设计问题,则可以使用SQL查询生成MySQL查询:

 SELECT CONCAT('SELECT ', GROUP_CONCAT(COLUMN_NAME), ' FROM `your table`') 
 FROM information_schema.COLUMNS
 WHERE TABLE_SCHEMA = 'your schema' and TABLE_NAME = 'your table'
 GROUP BY TABLE_NAME

在其中添加一个过滤器,以便仅选择所需字段。

select*FROM database听起来像是一个糟糕的表设计。有可能改变它吗?我不认为你可以有捷径,而且正如@juergen所提到的,似乎是一个糟糕的桌子设计。你们能发布你们的表格结构吗?你们能想到哪些列应该是其中的一部分吗?也许是类似于每秒钟或类似的东西?
 SELECT CONCAT('SELECT ', GROUP_CONCAT(COLUMN_NAME), ' FROM `your table`') 
 FROM information_schema.COLUMNS
 WHERE TABLE_SCHEMA = 'your schema' and TABLE_NAME = 'your table'
 GROUP BY TABLE_NAME