【蜕变之路】第45天 Mysql常用知识(2019年10月13日)

    Hello,大家好!我是程序员阿飞!今天主要给大家分享一下Mysql中常见的一些知识点,稍微整理一下。

     一、Mysql中如何查找为空或者不为空的数据

        1、查询为空的方法

        select * from table_name where id is null(为null)

        select * from table_name where id = ' '(等于空字符串)

        2、查询不为空的犯法

        select  * from table_name Where id is not null (不为null)

        select * from table_name where id != ' ' (不等于空字符串)

        select * from table_name where id <> ' ' (不等于空字符串)

    二、Mysql中concat、concat_ws、group_concat的区别

       1、concat:CONCAT(str1,str2,…) 返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。例如:select concat('11','22','33'); 结果:112233

        2、concat_ws:代表 CONCAT With Separator ,是CONCAT()的特殊形式。第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。例如:select concat_ws(',','11','22','33');结果:11,22,33

        3、group_concat:group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])例如:select id,group_concat(name) from aa group by id;结果: |1 | 10,20,20|; |2 | 20 | ;|3 | 200,500|

    三、repeat()函数

        1、用来复制字符串,如下'ab'表示要复制的字符串,2表示复制的份数

        例如:select repeat('ab',2);结果:abab  

    四、mysql查询出数据更新到另一张表

        需求:从A表查询出字段数据,更新到B表对应的字段

        例子:当table_a表中的b_id=table_b表的id时,将table_b表中的sn,filed1更新到table_a 表中sn,filed1字段

  1. -- 更新数据

        UPDATE `table_a` r

        INNER JOIN (SELECT id,sn,filed1 FROM `table_b`) t ON r.b_id= t.id

        SET r.sn = t.sn,r.filed1 = t.filed1

    五、mysql中ifnull()方法的用法

        1、表达式:IFNULL(expr1,expr2)

        2、含义:如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2。IFNULL()返回一个数字或字符串值

        3、示例:select ifnull(name,'no name') from person;

        4、延伸:将查询到的结果中的null转化为指定的字符串,但是其实在where查询部分也可以使用ifnull():select * from person where ifnull(name,'no name')='no name';

    【参考网址】

        https://www.cnblogs.com/benpao/p/7208671.html

      

             


猜你喜欢

转载自blog.51cto.com/12388374/2442102