Mysql选择查询以省略特定字段

时间:2015-04-17 06:25:28

标签: mysql

我们可以创建mysql查询来选择所有字段,我们可以创建mysql查询来选择必要的字段。

选择*以选择所有字段

选择字段名称以选择特定字段但是有没有办法选择除1或2之外的所有字段

由于 阿米特

3 个答案:

答案 0 :(得分:2)

如果选择特定字段,则无法选择特定列作为

select col1, col2, col3 ... from table_name 

保留您不想选择的列,并添加您要选择的列。

答案 1 :(得分:2)

这应该有帮助

SET @query =  CONCAT('SELECT ', (SELECT REPLACE(GROUP_CONCAT(COLUMN_NAME), '<OMITTED COLUMN>,', '') FROM  INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '<TABLE NAME>' ), ' FROM     <TABLE NAME>');

prepare statement from  @query;
execute statement

答案 2 :(得分:1)

如果您有权执行此查询,则可以尝试这样做:

SET @sql = CONCAT('SELECT ', 
     (SELECT REPLACE(GROUP_CONCAT(COLUMN_NAME), '<colums that you dont want>,', '') 
      FROM INFORMATION_SCHEMA.COLUMNS 
      WHERE TABLE_NAME = '<yourtablename>' AND TABLE_SCHEMA = '<yourdatabasename>'), 
     ' FROM <yourtablename>');

PREPARE stmt1 FROM @sql;
EXECUTE stmt1;

如果您没有执行上述查询的权限,那么您必须明确列出要显示的所有列以及您不想显示的列。