SQL通过SELECT *(SELECT ALL)子句使选择表中的所有字段变得非常简单。不幸的是,一旦您从列表中删除了一列,SELECT ALL语句就会消失。写出每个列的名称很快就会变得乏味,尤其是当您碰巧要处理包含许多列的表时。如果我们可以选择除一列之外的每一列——通过排除而不是包含进行选择,那会怎么样呢?可以办到。实际上,有两种方法可以做到这一点——一种简单,另一种稍微简单一些。

下面将详细介绍两种方法:

方法1:使用INFORMATION_SCHEMA.COLUMNS表

INFORMATION_SCHEMA提供对数据库元数据、有关MySQL服务器的信息(例如数据库或表的名称、列的数据类型或访问权限)的访问。更具体地说,COLUMNS表提供有关表中列的信息,包括列名。

Sakila示例数据库的film表中包含的列数最多为13。

这是我们使用INFORMATION_SCHEMA.COLUMNS表来获取除original_language_id列以外的所有列的方式:

GROUP_CONCAT函数将所有列名称连接到一个逗号分隔的字符串中。然后,我们可以将字段替换为空字符串!

执行查询

要克服的一个小障碍是MySQL查询不能接受动态列名。解决方案是采用准备好的声明。下面是设置@sql变量、准备语句并执行的代码:

在查询中插入列、表和模式信息会产生我们想要的结果:

方法2:使用Navicat

Navicat等数据库开发和管理工具的主要目标是提高生产力。因此,Navicat旨在使您的工作尽可能快速和轻松。为此,借助“代码完成”和可自定义的代码段,SQL编辑器可帮助您更快地编写代码,这些代码段可为关键字提供建议,并消除重复代码。如果这还不够的话,Navicat还提供了一个称为Query Builder的有用工具来可视化地构建查询。它使您仅使用SQL的一点点知识就可以创建和编辑查询。虽然Query Builder主要销售给更多的新手程序员,但是精通SQL的人仍然可以从Query Builder中完成某些任务。这样的任务之一就是选择列。

在查询生成器中,表名称旁边有一个复选框,用于选择其所有列。如果单击它,则可以简单地取消选中original_language_id字段以将其从列列表中删除:

单击确定按钮,然后关闭对话框并将SQL代码添加到编辑器中:

与手工编写代码相比,使用查询生成器创建查询具有一些优势:

  • 它最大程度地减少输入错误
  • 它生成易于阅读的格式化SQL

结论

在今天的文章中,我们学习了几种技术来选择表中的每一列,但只能选择一两个。

如何选择MySQL中除一列外的所有列相关推荐

  1. Mysql中主键和外键和索引

    Mysql中主键和外键和索引 1.主键和外键是什么 学生表(学号,姓名,性别,班级) 其中每个学生的学号是唯一的,学号就是一个主键 课程表(课程编号,课程名,学分) 其中课程编号是唯一的,课程编号就是 ...

  2. mysql中为表增加外键_如何在Excel 2013中为符号分配键盘快捷键

    mysql中为表增加外键 We've previously shown you how to add keyboard shortcuts to symbols in Word 2013 to mak ...

  3. mysql自定义序号_MySQL数据库之在mysql中给查询的结果添加序号列

    本文主要向大家介绍了MySQL数据库之在mysql中给查询的结果添加序号列 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 一:第一种: select   (@i:=@i+1)  ...

  4. mysql 前n个最大值_选择MySQL中的第n个最大值

    要选择MySQL中的第n个最大值,请使用以下语法-select distinct(yourColumnName) from yourTableName order by yourColumnName  ...

  5. mysql查询除某一列外的其他列

    问题描述 mysql查询除某一列外的所有列数据 set @t_name='t_gyzjz_ind_zzzxt_jk'; -- 拼接sql语句 set @sql=concat('insert into ...

  6. mysql怎么给数据加序号_MySQL数据库之在mysql中给查询的结果添加序号列

    本文主要向大家介绍了MySQL数据库之在mysql中给查询的结果添加序号列 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 一:第一种: select   (@i:=@i+1)  ...

  7. 查询除某一列外的所有列的数据

    查询除某一列外的所有列的数据: declare @name varchar(64) declare @sql varchar(1024)SET @sql='select ' //定义要执行的selec ...

  8. mysql中如何把两个查询结果列数不同并成一张表_MySQL

    引言 本文整理了MySQL相关的知识,方便以后查阅. 基础架构 下图是 MySQL 的一个简要架构图,从下图你可以很清晰的看到用户的 SQL 语句在 MySQL 内部是如何执行的. 先简单介绍一下下图 ...

  9. 【Linux】awk想打印除指定列外的所有列

    今天偶然研究awk,有一个文件,文件内容是全篇的1 2 3 4 5 6 7 8 9 0 现在想打印除了第一列以外的所有列 文件内容: [root@localhost ~]# cat test.txt ...

最新文章

  1. rsync+inotify实时备份
  2. python 笔记:读取mat文件
  3. 一天搞定CSS: CSS选择器优先级--08
  4. 如何利用多核CPU提高虚拟现实性能?
  5. excel数据平均分配给多人_excel表格 怎样均分数据-用Excel怎么才能将组数据平均分配给几个人...
  6. php sql慢查询,一个用户SQL慢查询分析,原因及优化_MySQL
  7. diss范式:明星AI公司秋招被爆大规模毁约;CEO戴文渊:责任在我有错认罚
  8. 抛物型方程向前差分matlab,(整理)微分方程数值解(学生复习题).
  9. 算法在岗3年小结:模型策略篇
  10. 文件解压和压缩io流
  11. 旧版sai笔刷_PaintTool SAI2.0笔刷
  12. 多媒体计算机对信息处理技术包括哪些,多媒体信息处理技术
  13. 关于对-rw-r--r-- 的详细讲解
  14. 开怀大笑有助于使心中的郁闷情绪得到疏导
  15. 主动学习(active learning)
  16. 泡沫经济中的泡沫游戏
  17. 巧用千寻位置GNSS软件|倾斜校准有技巧
  18. AI(1)认知 人工智能、机器学习、神经网络、深度学习。
  19. LinuxStudyNote(29)-Linux常用命令(6)-压缩解压命令汇总gzip、gunzip、tar、zip、unzip、bzip2、bunzip2
  20. python---常用模块,网站找模块方法、啄木鸟社区

热门文章

  1. 计算机系硕士在新西兰好找工作吗,在新西兰做程序员是一种什么体验?解析新西兰计算机专业...
  2. HP加易语言数据库,全源码制作的网络验证,可运营,可自行扩展
  3. PHP 简单案例[5]
  4. day12_继承(继承-抽象类-代码块)
  5. ACM四五周学习总结
  6. 制造企业如何从0到1进行信息化建设?
  7. android 解压rar5,RAR解压缩软件_Winrar官方版 V5.50.42 安卓去广告版
  8. 【人工智能】— 有信息搜索、最佳优先搜索、贪心搜索、A*搜索
  9. 招聘行业还有机会吗?
  10. 原生Servlet的编写