SQL 知识量:22 - 44 - 129
SQL中最基本的也是最重要的语句就是select语句,它的用途是从一个或多个表中检索信息。
使用select语句至少需要提供两条信息:
想选择什么。
从什么地方选择。
select语句用公式表示就是:select (想选择什么) from (从什么地方选择);
检索单个列即查询表中的一个列的内容。
示例:有一个学生表(student)信息如下:
+----+--------+-----+--------+ | id | name | age | sex | +----+--------+-----+--------+ | 1 | Susan | 11 | female | | 2 | Jame | 12 | male | | 3 | Bob | 11 | male | | 4 | Robot | 10 | male | | 5 | Jen | 11 | female | | 6 | Toney | 10 | male | | 7 | Jack | 13 | male | | 8 | Alice | 10 | female | | 9 | Bonnie | 11 | male | | 10 | Ella | 12 | female | +----+--------+-----+--------+
查询学生表student中的姓名name列的内容。
select name from student;
查询结果:
+--------+ | name | +--------+ | Susan | | Jame | | Bob | | Robot | | Jen | | Toney | | Jack | | Alice | | Bonnie | | Ella | +--------+
以上查询语句返回的结果是student表中name列的所有内容,其中:
select和from都是MySQL的关键字。
name表示查询的列名。
student表示从学生表中进行检索。
MySQL语句必须以分号结束。
需要注意的是:SQL语句不区分大小写,而且在处理SQL语句时,其中所有多余的空格都会被忽略。
要检索多个列,只需要在检索单个列的基础上添加要检索的列名即可。
示例:查询学生表student中的姓名name列和年龄age列的内容。
select name,age from student;
查询结果:
+--------+-----+ | name | age | +--------+-----+ | Susan | 11 | | Jame | 12 | | Bob | 11 | | Robot | 10 | | Jen | 11 | | Toney | 10 | | Jack | 13 | | Alice | 10 | | Bonnie | 11 | | Ella | 12 | +--------+-----+
以上查询语句中,查询的name和age间需要用逗号(,)进行分割,但是最后一个列名(即age)后面是不能加逗号的,否则会出错。
注意:SQL语句一般返回原始的、无格式的数据。数据的格式化是表示问题,而不是检索问题。
除了检索指定的列以外,还可以检索一个表的所有列。要检索所有列只需要使用星号(*)通配符替换要检索的列名即可。
示例:查询学生表student中所有列的内容。
select * from student;
查询结果:
+----+--------+-----+--------+ | id | name | age | sex | +----+--------+-----+--------+ | 1 | Susan | 11 | female | | 2 | Jame | 12 | male | | 3 | Bob | 11 | male | | 4 | Robot | 10 | male | | 5 | Jen | 11 | female | | 6 | Toney | 10 | male | | 7 | Jack | 13 | male | | 8 | Alice | 10 | female | | 9 | Bonnie | 11 | male | | 10 | Ella | 12 | female | +----+--------+-----+--------+
注意:
结果中列的顺序一般是列在表定义中出现的物理顺序,但也并不总是如此。
通配符*一般用于检索未知列,即在不知道列名的情况下进行检索。但是,除非真的有必要,还是尽可能不使用,而是列出真正需要检索的列名,因为通配符*检索对数据库系统性能的影响比较大。
Copyright © 2017-Now pnotes.cn. All Rights Reserved.
编程学习笔记 保留所有权利
MARK:3.0.0.20240214.P35
From 2017.2.6