5.1 查询全部列的记录
在SQL语句中,如果想要检索数据表中全部列的记录,就需要对数据表中的所有列进行查询。在SQL语句中,提供了一种方便查询数据表或者视图的所有列的方法,其语法格式如下:
SELECT * FROM 表名或者视图名[,表名或者视图]
其中,SELECT语句后面的“*”号表示查询数据表中的所有列,FROM子句后面的表名或者视图名用来表示指定要查询数据表或者视图的名字。[]里面指定的表名或者视图是可选的,也就是说, FROM子句后面可以跟多个表或者视图的名字,多个表或者视图之间用逗号分开。
说明 FROM子句后面最多可以指定256个表或者视图的名字,FROM子句后面如果要指定多个表名或者视图名,它们之间需要用逗号分开。
例5.1 查询学生信息表(T_student)中所有学生的全部信息。
SELECT * FROM T_student
这里指定要查询学生信息表(T_student)中所有学生的全部信息,所以需要查询学生信息表(T_student)中所有的列。学生信息表(T_student)中一共有5列,分别是stuID、stuName、age、sex和birth。其查询结果如图5.1所示。
图5.1 查询学生信息表(T_student)中所有学生的全部信息
从显示的结果可以看到,其中,列stuID表示学生编号,列stuName表示学生的名字,列age表示学生的年龄,列sex表示学生的性别,列birth表示学生的出生日期。在MySQL 5.0数据库中,日期类型的变量在数据库中是以年-月-日 时∶分∶秒的形式显示的。
在实际的SELECT语句查询中,并不建议使用“*”号查询表中所有的列,最好应该在SELECT语句中指定要查询列的名字。在SELECT语句中指定要查询列的名字主要基于以下两个方面的原因。
❑从软件开发的角度考虑,在实际的项目开发中,数据表中的字段一般都很多,在SELECT语句中指定要查询列的名字,有利于开发人员或者用户对数据表的了解,也有利于对数据表的维护。而使用“*”号查询表中所有的列,开发人员或者用户就无法了解数据表中的结构,也不利于对数据表的维护。
❑从执行效率角度考虑,使用“*”号查询表中所有的列的速度比指定查询列的名字的查询方式的速度慢。使用指定列的名字的查询方式可以提高查询的效率。
那么,既然应该在SELECT语句中使用指定查询列的名字的方式检索数据表中的信息,那么如何在SELECT语句中指定列的名字查询数据表中的记录呢?在5.2节中将向读者介绍查询数据表中指定列的方法。