*MySQL数据库——检索数据(一)
为了使用SELECT检索表的数据,必须至少给出两条信息:(1)想选择什么(2)从什么地方选择*
1:检索单个列
SELECT userName FROM yellowriver1
需要说明的是这是还没有排序的检索并且数据也没有进行过滤 。
2 检索多个列:
SELECT userName, email FROM yellowriver1
说明下,在SELECT关键字后的列出多个列名,列名之间必须以逗号分隔。
3 检索所有列
我们可以通过使用 * 就是通配符来完成SELECT * FROM yellowriver
4 检索不同的行
SELECT返回所有匹配的行。但是,如果你不想要每个值都出现,那么我们可以使用DISTINCT关键字,此关键字指示MySQL值返回不同的值。
SELECT DISTINCT user_password FROM users1
说一下,不能部分使用DISTINCT! DISTINCT关键字应用于所有列而不仅是前置他的列。 如果给出SELECT DISTINCT vend_id, prod_price 除非指定的两个列不同,否则所有行都将被检索出来 。
5 限制结果:
SELECT语句返回所有匹配的行,它们可能是指定表的每个行。为了返回第一行或前几行,可使用LIMIT子句。如下:
SELECT users.user_password FROM users LIMIT 3;1
LIMIT 3 指示地是MySQL返回不多于五行 。
SELECT users.user_password FROM users LIMIT 1,2;1
这个LIMIT表示的是从第1行(从0开始,注意)的两行数据 。 在行数不够时候,MySQL会尽力返回能返回的行数。
6 使用完全限定的表名 :
SELECT products.prod_name FROM crashcourse.products;1
上面我们把列的表名也带上了,就是使用了完全限定的表名 。
7 排序数据
我们有时会希望检索出来的数据,能够以一定的顺序来显示。 为了明确地排序用SELECT语句检索出的数据,可使用ORDER BY子句。 ORDER BY子句取一个或多个列的名字,据此对输出排序 。
SELECT users.user_name, users.user_id FROM users ORDER BY user_id1
这里用了id的数字来排序,如果是字符串的话,就是字母顺序来排序 。
8 按多个列排序
我们很可能要按不止一个列进行数据排序。例如,如果显示雇员清单,我们希望可以按照姓和名进行排序(先排姓再排名)。
我们只需要在ORDER BY命令后,列名之间用逗号分开即可。
SELECT users.user_name, users.user_age FROM users ORDER BY user_age,users.user_name1
重要的是理解在多个列排序的时候,排序完全按所规定的顺序进行 。
9 指定排序方向
数据的排序不限于升序排序(从A到Z)。这只是默认的排序顺序,还可以使用 ORDER BY(从Z到A)以降序来排序。为了进行降序排序,我们需要使用DESC关键字。
如下:
SELECT users.user_name, users.user_age FROM users ORDER BY user_age DESC,users.user_name ;1
使用ORDER BY 和 LIMIT 组合 能够找出一个列中的最高 或 最低值 。
SELECT prod_price FROM products ORDER BY prod_price DESC LIMIT 1 ;