第四章 检索数据
    检索单列
    SELECT columnOne FROM table;
    检索多列
    SELECT columnOne,columnTwo,columnThire FORM table;
    检索所有列
    SELECT FROM products; //一般,除非你确实需要表中的每个列,否则最好不要用通配符,因为会带来性能问题或导致无法“索引覆盖”
    检索不同的行
    检索出来的数据不重复DISTINCT关键字,顾名思义返回不同的值
    SELECT DISTINCT columnOne FROM table; //检索出来的columnOne没有重复值
    DISTINCT关键字应用于所有列而不仅是前置它的列
    SELECT DISTINCT vendid,prod_price……要求vend_id,prod_price这两列都不出现重复的
    限制结果条数
    sql语句后面加入下面sql语句

    LIMIT 5 显示结果的前5条
    LIMIT 3,4 从行3开始的后4行
    LIMIT 4 OFFSET 3 从行3开始的后4行

    第五章 排序检索数据
    子句 Sql语句是由子句构成,有些子句是必须的,有些是可选的。一个子句通常是由一个关键字和所提供的数据组成。
    按单列排序
    SELECT columnOne FROM table ORDER BY columnOne;
    SELECT columnOne FROM table ORDER BY columnTwo; //用非检索列也是可以的,如根据columnTwo
    按多列排序
    SELECT columnOne,columnTwo,columnThire FROM products ORDER BY prod_price,prod_name;
    排序是先根据前面的columnOne排序 ,如果一样再根据后面的columnTwo排序
    指定排序方向
    ASC 升序 默认 DESC 降序 关键字仅作用到直接位于前面的列名
    SELECT columnOne,columnTwo,columnThire FROM table ORDER BY columnOne ASC, columnTwo DESC; //先按columnOne正排序 再按columnTwo倒序排序

    第六章 过滤数据
    使用**WHERE 语句
    SELECT columnOne,columnTwo FROM table WHERE columnOne = 3;
    WHERE子句操作符
    操作符 说明
    = 等于
    <> 不等于(数字比较)
    != 不等于(数字和字符串比较)
    < 小于
    > 大于
    <= 小于等于
    > 大于
    >= 大于等于
    BETWEEN 在指定的两个指之间 必须指定2个值。这两个值必须使用AND连接
    SELECT columnOne,columnTwo, FROM table WHERE columnOne BETWEEN 3 AND 8; // 检索columnOne值为3到8之间的行
    空值检查
    SELECT 语句中有一个子句检查具有NULL值的列,IS NULL子句。
    SELECT columnOne FROM table WHERE columnOne IS NULL; //检索 columnOne值为NULL的行
    注意:在数据库中NULL是不能被匹配和不匹配的语句找出来,所以一定要注意表中是否存在NULL值。

    第七章 数据过滤
    组合WHERE子句
    组合方式
    AND组合 OR组合
    必须满足所有条件
    SELECT columnOne,columnTwo,columnThire FROM table WHERE columnOne = 2009 ANDcolumnTwo <= 10; //检索columnOne =2009 且 columnTwo <= 10 的行
    满足任意一个条件
    SELECT columnOne,columnTwo,columnThire FROM table WHERE columnOne = 2009 ORcolumnTwo <= 10;//检索columnOne =2009 或 columnTwo <= 10 的行
    计算次序
    先计算AND再计算OR,不要过分依赖默认计算次序,可以使用括号改变计算次序,它能消除歧义。
    IN操作符 IN操作符用来指定范围,范围中的每个条件进行匹配。IN取合法值的逗号分隔的清单。
    SELECT columnOne,columnTwo FROM table WHERE columnOne IN (1002,1005,1006) ORDER BYcolumnTwo; //检索columnOne为1002或1005或1006的行并且按columnTwo分组
    IN操作符完成与OR相同的功能,优点如下:
    1 使用长的合法选项清单时,IN操作符的预防更清楚且直观
    2 使用IN时,计算的次序更容易管理(以为使用的操作符更少)
    3 IN操作符一般比OR操作符执行更快
    4 IN操作符最大的优点可以包含其他SELECT语句,使得能够更动态的创建WHERE子句。
    NOT操作符 WHERE子句中的NOT操作符有且只有一个功能,那就是否定它之后所跟的任何条件
    SELECT columnOne,columnTwo FROM table WHERE columnOne NOT IN (1002,1005,1006) ORDERBY columnTwo; //检索columnOne不为1002或1005或1006的行并且按columnTwo分组
    MySQL支持使用NOT对IN、BETWEEN和EXISTS子句取反。

    第八章 用通配符进行过滤
    LIKE 操作符
    通配符:用来匹配值的一部分的特殊字符。
    搜索模式:又字面值、通配符或两者组成构成的搜索条件
    % 任何字符出现任何位置区分大小写
    //检索以jet开头的词或句子
    SELECT columnOne,columnTwo FROM table WHERE columnOne LIKE ‘ jet% ‘;
    //检索以jet结尾的词或句子
    SELECT columnOne,columnTwo FROM table WHERE columnOne LIKE ‘ %jet ‘;
    //检索以jet包含的词或句子
    SELECT columnOne,columnTwo FROM table WHERE columnOne LIKE ‘ %jet% ‘;
    //检索以e开头,以u 结尾的词或句子
    //检索’ e%u ‘;
    %还可以匹配0字符,注意尾空格会影响搜索模式的结果。

    匹配单个字符
    SELECT columnOne,columnTwo FROM table WHERE columnOne LIKE ‘_abc’
    //匹配aabc eabc eabc 等前面一个字母的词
    让like区分大小写的方法**
    在WHERE和列名之间加BINARY关键字,或者再建立表时就指定区分大小写name varhar(50) binary

    1. **使用通配符是有代价的,提供以下的技巧**:<br /> 不要过度的使用通配符<br /> 除非是必要的,否则通配符不要用在搜索模式的开始处<br /> 仔细注意通配符的位置。不要放错位置<br /> <br />**第九章** **用正则表达式进行搜索**<br /> 仅支持正则表达式的一小部分<br /> **基本字符匹配**<br /> **检索列prod_name包含1000** **的所有行**<br /> SELECT columnOne FROM table WHERE columnOne REGEXP '1000' ORDER BY columnOne<br /> . 匹配任意一个字符1000 2000 3000 a000<br /> SELECT columnOne FROM table WHERE columnOne REGEXP '.000' ORDER BY columnOne<br /> **正则匹配不区分大小写 ,如想区分匹配可在REGEXP** **后面加上BINARY关键字**<br /> **进行OR匹配**<br /> **为搜索两个或n个字符串之一**<br /> SELECT columnOne FROM table WHERE columnOne REGEXP '1000|2000|3000' ;<br /> **匹配单个字符**<br /> SELECT columnOne FROM table WHERE columnOne REGEXP '[123] Ton'; //匹配1 Ton 或2 Ton或3 Ton<br />当有非匹配的内容时使用[],它是 | 的另一种形式,如1|2|3 Ton这时匹配的只有3带有Ton<br /> 如果想要得到非匹配的内容可以使用[^123]的形式<br /> **匹配范围 [0-9] [a-z][A-Z]**<br /> SELECT columnOne FROM table WHERE columnOne REGEXP '[1-5] Ton' ;<br /> **匹配特殊字符**<br /> 想要匹配 . [ ] | 这些字符串怎么办呢,可以在这些字符前加 \\ 进行转义,第一个\ mysql自己解释,第二个给正则解释的<br /> 元字符 说明<br /> \\\ \<br />[ ]() [\\f]() 换页<br />[ ]() [\\n]() 换行<br />[ ]() [\\r]() 回车<br />[ ]() [\\t]() 制表<br />[ ]() [\\v]() 纵向制表<br />
    2. **匹配字符串类**<br />