日期:2014-05-16 浏览次数:20749 次
?
一.检索数据(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;?
?
本章内容比较简单基础,适合初学者。万丈高楼平地起!
?
?
?