嗨客网搜索
数据库教程

sql 查询

Mysql查询教程

数据检索是每个系统中常用的功能,比如现实应用中的登录,它就会判断该用户在系统中存在不存在。这个时候就会用到查询。Mysql 中使用 select 关键字来编写 sql 语句对数据进行查询。

在进行本节讲解的时候,我们建了一张学生表,对学生表里面的数据进行操作:

CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `stu_no` int(11) DEFAULT NULL, `stu_name` varchar(255) DEFAULT NULL, `age` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

为了查看到效果,我们先往表里面插入几条数据:

INSERT INTO student (`id`,`stu_no`,`stu_name`,`age`) VALUES (1,1001,'小明',17), (2,1002,'小红',16), (3,1003,'小军',18), (4,1004,'小亮',19);

查询单个列

语法

select 列名 from 表名;

描述

关键字 描述
select 关键字,该关键字表示执行查询功能
列名 行里面的列名称
from 关键字,后面一般跟表名,表示查询某张表
表名 被查询的表的名称

说明

因为是查询的单列,所以我们就可以直接将列名列举出来,然后进行查询。它以 select 关键字开始,以 ; 结尾。

案例

select stu_name from student;

运行结果如下

01 select column.png

上述的语句是从 student 表里面获取一个列名为 stu_name 的列。查询的时候,被查询的列表需要跟在 select 后面,from 后面跟表名,表示是从哪个表里面获取。

查询多个列

语法

select 列名1,列名2... 列n from 表名;

描述

和查询单列相似,查询多列的时候以 , 隔开,(注意,这边的 , 是英文的)。最后一列不加逗号,和 from 之间以空格隔开。

案例

select id,stu_no,stu_name,age from student;

运行结果如下

02 select mult columns.png

我们把所有的列名都给列了出来,每个列之间以 , 隔开,可以看到将表里面的所有数据都查询出来。想要查询哪些列只需要将对应的列名列出来就可以了。

查询所有列

语法

select * from 表名;

描述

在 sql 里面,查询的时候,想要查询所有的列,有两种方法,一种是将所有的列名都列举出来,第二种方法就是用 * 代替列名。

案例

select * from student;

运行结果如下

03 select all column.png

我们看到,运行的结果和列举出所有的列名效果是一样的。

总结

想要查询表里面对应的列的数据的时候,可以使用 select 关键字,然后将对应的列名列举出来,如果想要查询所有的数据可以用 select * 语句。生产环境中,建议使用 select 加需要用到的列名。

* 的话虽然省事,但是它要检索所有的列,检索自己不需要的列的话通常会降低检索和应用程序的性能。

嗨客网顶部