第四章——检索数据(MYSQL必知必会)


SELECT语句
SQL语句是由简单的英语单词构成的。这些单词称为关键字,每个SQL语句都是由一个或多个关键字构成的:大概,最经常使用的SQL语句就是SELECT语句了 。它的用途是从一个或多个表中检索信息 。

 为了使用SELECT检索表数据,必须至少给出两条信息一一想选择什么 ,以及从什么地方选择。

SELECT作为检索语句可以 检索单个列,也可以多个列,也可以所有列。
注意点:

  • 对于大小写:SQL语句是不区分大小写的,因此SELECT和select是没有区别的,Select也是无所谓的,不过为了已于阅读和调试,经常把关键字大写,对于所有列和表名实用小写。

  • 对于使用空格:在处理SQL语句时,所有空格都会被忽略,SQL语句可以一行给出,也可以分成多行。大多数都是分成多行来易于阅读和调试。

  • 对于逗号:在选择多个列时,一定要在列名后面加上逗号,倒是最后一个则不需要,否则会会出错。

  • 对于使用通配符’‘:一般除非确实需要表中的每列,否则最好不使用通配符,虽然敲起来好像很省事,但是检索不需要的列通常会降低检索和应用程序的性能。但也是有优点的,比如能检索出未知列。

检索不同的行
解决办法:使用DISTINCT。
DISTINCT关键字必须放在列的前面。但是很不能部分使用DISTINCT,DISTINCT关键字应用于所有列而不仅仅是前置它的列。如果给出SELECT DISTINCT name1,name2, 除非指定的两个列都不同,否则所有行都将被检索出来。

限定结果
SELECT语句返回所有匹配行,它们可能是指表中每一行。为了返回第一行或者前几行,可使用LIMIT字句。

SELECT name1 
FROM table_name1; 
LIMIT 5;

此语句使用SELECT语句检索单个列,LIMIT 5指示MYSQL返回不多于5行。

SELECT name1 
FROM table_name1;
LIMIT 5,5;

LIMIT 5,5指示MYSQL返回从行5开始的5行。第一个数为开始位置,第二个数为检索的行数。

注意:

  • 所以,带一个值的LIMIT总是从第一行开始,给出的数为返回的行数。带两个值的LIMIT可以指定从行号为第一个值的位置开始。

  • 行0:检索出来的第一行为行0而不是行1,因此,LIMIT 1,1将检索出第二行而不是第一行。

  • MYSQL 5的LIMIT语法:MYSQL 5支持LIMIT的另一种替代语法。 LIMIT 4 OFFSET 3意为从行3开始取4行,就像 LIMIT 3,4 一样。

使用完全限制的表名
SQL语句可以直接通过列名引用列。也可能使用完全限定的名字来引用列(同时使用表名和列字)。比如:

SELECT table1.name1 
FROM table1;

当然,表名也可以完全限定:

SELECT table1.name1 
FROM database_name.table_name1;

这个功能也等于把上面例子的功能。

你可能感兴趣的:(数据库)