一.检索数据(select)
多条SQL语句必须以分号(;)分隔。分号也是SQL语句的结束符。
SQL语句不区分大小写,许多开发人员喜欢对所有SQL关键字使用大写,而对所有列和表名使用小写,易于阅读和调试。
select语句中两个常用的关键字:
1.DISTINCT:查询的时候"SELECT DISTINCT * FROM TABLE",可以去掉表中重复数据。
2.LIMIT:用来限制结果。
如你想查找商品表(products)中前5条数据,你可以执行如下命令:
SELECT * FROM products LIMIT 5;
如果想得出商品表中下一个5行,你可以执行如下命令:
SELECT * FROM products LIMIT 5,5;
注:LIMIT 5,5 指示MySQL返回从行5开始的5行。即第一个数为开始位置,第二个数为检索的行数。
行0 检索出来的第一行为行0而不是行1。MySQL是以0开始计数的,和数组一样。
MySQL 5 支持LIMIT的另一种语法:LIMIT 4 OFFSET 3 意为从行3开始取4行,就如LIMIT 3,4一样
二.排序检索数据(使用ORDER BY子句)
为了明确地排序用SELECT语句检索出来的数据,可使用ORDER BY子句。如我们希望根据商品名排序商品表:
SELECT * FROM products ORDER BY prod_name;
注:ORDER BY 后面可以跟多个字段,但需用逗号隔开。默认使用ORDER BY 以升序排序。以上命令如:
SELECT * FROM products ORDER BY prod_name ASC;
如果你想根据商品名降序排序,你可以这么写:
SELECT * FROM products ORDER BY prod_name DESC;
在给出ORDER BY子句时,应该保证它位于FROM子句后面,如果使用LIMIT,它必须位于ORDER BY之后。
三.过滤数据(使用WHERE子句)
检索出商品表中商品价格为2.5的行:
SELECT * FROM products WHERE prod_price=2.5;
WHERE子句操作符
= 等于
<> 不等于
!= 不等于
< 小于
<= 小于等于
> 大于
>= 大于等于
BETWEEN 在指定的两个值之间
空值检查(NULL)
SELECT * FROM products WHERE prod_price IS NULL;
四.组合WHERE子句
一般有四种操作符AND,OR,IN,NOT,现以商品表为例给出相应四种操作符使用语法
AND操作符:
SELECT * FROM products WHERE prod_price =4500 AND prod_name='iphone';
OR操作符:
SELECT * FROM products WHERE id=1002 OR id=1003;
IN操作符:
SELECT * FROM products WHERE id IN(1002,1003) ORDER BY prod_name;
NOT操作符:
SELECT * FROM products WHERE id NOT IN(1002,1003) ORDER BY prod_name DESC;
本章内容比较简单基础,适合初学者。万丈高楼平地起!