zoukankan      html  css  js  c++  java
  • Mysql 随笔记录

    Soundex 声音相似的

    select * from demos where Soundex('title') = Soundex('标示');

    Concat 拼接语句

    select concat(id,'(##',title,'##)') from demos;

    正则 REGEXP

    select * from demos where value regexp '\内容';
    \表示查找;
    \f 换页
    \n 换行
    \r 回车
    \t 制表
    \v 纵向制表
    

    AND 和 OR 一起时,先处理 AND;

    _下划线只匹配一个字符,%可以匹配除了NULL的数据;

    IS NULL
    检测是否为NULL; SELECT * FROM tab WHERE id IS NULL;

    返回不同值

    SELECT DISTINCT row FROM tab;

    显示授权用户

    SHOW GRANTS;

    显示广泛的服务器状态信息

    SHOW STATUS;

    INNER JOIN 关键字

    在表中存在至少一个匹配时,INNER JOIN 关键字返回行。
    注释:INNER JOIN 与 JOIN 是相同的。

    SELECT id FROM tab1 INNER JOIN tab2 ON tab1.id = tab2.id
    

    AS 关键字

    SELECT f.id,m.title FROM tab1 AS f LEFT JOIN tab2 AS m ON f.id = m.id
    

    USING 关键字

    用于表连接时给定连接条件(可以理解为简写形式),如

    SELECT * FROM table1
    JOIN table2 ON table1.id = table2.id
    

    使用 USING 可以写为

    SELECT * FROM table1
    JOIN table2 USING(id)
    

    HAVING

    引入 HAVING 是因为 WHERE 无法和统计函数一起使用
    如表 order (定单)有如下字段:
    id, date, price, customer
    查找订单总额少于2000的客户可以这样写:

    SELECT customer, SUM(price) FROM order
    GROUP BY customer
    HAVING SUM(price)<2000
    

    查找指定客户中订单超过1500的订单总额:

    SELECT  customer,SUM(price) FROM order
    WHERE customer=’…’ OR customer = ‘…’
    GROUP BY customer
    HAVING SUM(price) > 1500
    

    MATCH AGAINST

    在body(后面的)里查询database与title(前面的)一起显示

    mysql> SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('database');
    

    DATEDIFF 返回两个日期之间的天数,

    使用如下 SELECT 语句:

    SELECT DATEDIFF('2008-12-30','2008-12-29') AS DiffDate 
    

    结果:

    DiffDate 1
    

    IF条件

    IF(expr1,expr2,expr3)  1为条件,true返回2,false返回3
    SELECT IF(1<2,true,false); //返回true, 1
    
    CASE 5 WHEN 1 THEN 'ONE'  WHEN 2 THEN TWO ELSE XXX
    类似 switch(5)
    {
         case 1:
              'ONE'
         break;
         case 2:
              'TWO'
         break;
         default:
              xxx
         break;
    }
    
    SELECT CASE 5 WHEN 1 THEN "one" WHEN 2 THEN "two" ELSE id END from TabName;
    

    //如果这里的返回值带有引号,就是string类型,不能用于select 查询,不然返回的是这个字符串

  • 相关阅读:
    公用技术——设计模式23——访问者模式——待补充
    公用技术——设计模式24——空对象模式——待补充
    数据库语言——SQL——基础部分——初篇
    短信通道——阿里大鱼(java)
    spring cloud的常见注解
    HashMap在Jdk1.7和1.8中的实现
    java基础面试题
    java当中需要进一步学习的内容
    jsp中9大内置对象
    mysql中的锁
  • 原文地址:https://www.cnblogs.com/lisq/p/8386987.html
Copyright © 2011-2022 走看看