Mysql学习1

来源:互联网 发布:卡盟附带支付源码 编辑:程序博客网 时间:2024/05/17 22:20

1、SELECT语句返回所有匹配的行,它们可能是指定表中的每个行。为了返回第一行或前几行,可使用LIMIT子句

   select prod_name FROM products LIMIT 5;

   LIMIT 5指示Mysql返回不多于5行。也可指定要检索的开始行和行数: LIMIT 5,5   表示返回从行5开始的5行。第一个数为开始位置,第二个数为要检索的行数。

      注:a)LIMIT检索出来的第一行为行0不是行1。因此,LIMIT 5,5 将检索出第6行至第10行。

          b)LIMIT后的参数必须是整数常量,如果第二个参数指定返回记录行的最大数目时,行数不够,MySQL只返回实际行数。

          c)LIMIT用于ORDER BY子句之后。

2、通配符    

           %表示任何字符出现任意次数,能匹配0个,1个或多个字符

           _ 只能匹配单个字符

      注:a)不要过度使用通配符。如果其他操作符能达到相同的目的,应该使用其他操作符

          b)确实需要使用通配符时,除非绝对有必要,否则不要把它们用在搜索模式的开始处。把通配符至于搜索模式的开始处,搜索起来最慢。

 

3、正则表达式    用来匹配文本的特殊的串(字符集合)

            REGEXP 后所跟的东西作为正则表达式。(学习几个)

           ‘.’表示匹配任意一个字符;         

           ‘|’为正则表达式的OR操作符;

           ‘[]’匹配特定的字符,[123]定义一组字符,表示匹配1或2或3

 

         LIKE 和 REGEXP之间的区别:

         select prod_name

         from products

         where prod_name REGEXP '1000'

         order by prod_name;

 

         select prod_name

         from products

         where prod_name REGEXP '1000'

         order by prod_name;

    LIKE匹配整个列。如果被匹配的文本仅在列值中出现,LIKE将不会找到它,相应的行也不返回(除非使用通配符)。REGEXP 在列值内进行匹配,如果被匹配的文本在列值中出现,REGEXP 将会找到它,相应的行将被返回。

                                

3组合查询     

      UNION操作符使用规则:

         1)UNION必须有两条或两条以上的select语句组成,语句之间用关键字UNION分隔

         2) UNION中的每个查询必须包含相同的列、表达式或聚集函数(不过各个列不需要以相同的顺序列出)

         3)列数据类型必须兼容:类型不必完全相同,但必须是DBMS可以隐含地转换的类型

      UNION从查询结果中自动去除重复的行,如果想返回所有匹配行,可使用UNION    ALL。

      select语句的输出用 ORDER BY子句排序,在用UNION组合查询时,只能使用一条ORDER BY子句,它必须出现在最后一条select语句之后。

     例:

        select  vend_id,prod_id,prod_price

        from  products

        where  prod_price<=5

        UNION

        select  vend_id,prod_id,prod_price

        from  products

        where  vend_id IN(1001,1002)

        ORDER BY vend_id,prod_price;

       使用UNION操作符可简化复杂的WHERE子句,简化从多个表中检索数据的工作。

正在看Mysql必知必会,欢迎指教。

原创粉丝点击