美文网首页
mysql实用语法技巧

mysql实用语法技巧

作者: 胖嘟嘟洒酒疯 | 来源:发表于2019-05-29 00:22 被阅读0次

主键冲突方法

  1. on duplicate key update

    -- 也可用于解决update时造成的唯一索引冲突, 当发生唯一索引冲突时替换原来的值
    insert into tablename(field1,field2, field3) values (value1, value2, value3) on duplicate key update field1=value1,field2=value2, field3=value3;
    
  2. replace into

    -- 当发生主键冲突时替换原来的值
    replace into tablename(field1,field2, field3) values (value1, value2, value3)
    
  3. insert ignore into

    -- 当发生唯一索引冲突时,返回0,不插入,不抛出错误
    insert ignore into tablename (field1,field2,field3) values (value1,value2,value3);
    

模糊匹配与正则匹配

  1. 模糊匹配

    -- 百分号(%):表示任意个或多个字符
    -- 下划线(_):表示任意单个字符
    select * from tablename where field1 like '%hello_';
    
    -- 可以直接对参数进行模糊查询
    select * from user where name like concat('%', 'hello', '%');
    
  2. 正则匹配

    -- ^: 匹配表达式开始
    -- $: 匹配表达式结束
    -- .: 匹配任务单个字符
    -- *: 匹配0个或多个表达式
    -- +: 匹配一个或多个表达式
    select * from tablename where field1 regexp 'hello.';
    

日期处理函数

-- 获取当前日期,当前时间,当前日期时间
select curdate(), current_date, curtime(), current_time, now(), sysdate(), localtime, current_timestamp;

-- 当前日期加减
select adddate(curdate(), 1), date_add(curdate(), interval 1 day ), subdate(curdate(), 1), date_sub(curdate(), interval 1 day )

-- 当前时间加减
select addtime(now(), 30), date_add(now(), interval 30 second ), subtime(now(), 30), date_sub(now(), interval  30 second ) ;

-- 提取日期和时间
select date(now()), time(now());

-- 提取日期时间中具体的某个值
select extract(year from now()), extract(month from now()), extract(day from now()), extract(hour from now()), extract(minute from now()), extract(second from now());
select year(now()), month(now()), day(now()), hour(now()), minute(now()),second(now());

-- 计算时间差
select datediff(adddate(now(), 1), now()), timediff(adddate(now(), 1), now()), timestampdiff(day ,adddate(now(), 1), now())

-- 计算今天是第多少天
select dayofweek(now()), dayofmonth(now()), dayofyear(now())

常用函数

-- IF(expr,v1,v2)   如果表达式 expr 成立,返回结果 v1;否则,返回结果 v2。   
SELECT IF(1 > 0,'正确','错误')    

-- IFNULL(v1,v2)    如果 v1 的值不为 NULL,则返回 v1,否则返回 v2。 
SELECT IFNULL(null,'Hello Word')

-- ISNULL(expression)   判断表达式是否为 NULL   
SELECT ISNULL(NULL);

相关文章

  • mysql实用语法技巧

    主键冲突方法 on duplicate key update-- 也可用于解决update时造成的唯一索引冲突, ...

  • 4 MySQL 语法技巧

    [TOC] 1 where 语句中实现 case when case goals:return success=1...

  • MySQL优化实用技巧

    工作中出现的一些优化技巧一、一些常见的SQL实践 (1)负向条件查询不能使用索引 select * from or...

  • MySQL教程

    MySQL 入门教程 MySQL 安装 MySQL 管理 MySQL PHP 语法 MySQL 连接 MySQL ...

  • Markdown实用技巧-语法教程

    如果你喜欢我的文章,请访问wulijie的github并关注我,另外AndroidNotes也是个很不错的文章 标...

  • 实用技能-谷歌搜索语法技巧

    【 谷歌语法 】 site:可以限制你搜索范围的域名. inurl:用于搜索网页上包含的URL,这个语法对寻找网页...

  • mysql查询

    mysql 查询语法

  • MySQL教程

    MySQL 入门教程MySQL 安装MySQL 管理MySQL PHP 语法MySQL 连接MySQL 创建数据库...

  • Win-MarkDown使用手册.md

    Title:MarkDown 语法说明&技巧使用&相关工具 标签(空格分隔): MarkDown 语法说明 技巧 ...

  • MySQL学习笔记一之MySQL语法

    title: MySQL学习笔记一之MySQL语法tags: MySQL 数据库categories: MySQL...

网友评论

      本文标题:mysql实用语法技巧

      本文链接:https://www.haomeiwen.com/subject/pdpstctx.html