`

Mysql相关

 
阅读更多
  1. ON DUPLICATE KEY UPDATE为Mysql特有语法,当insert已经存在的记录时,执行Update
    <insert id="mergeInto"  parameterType="list" keyProperty="permissionId" useGeneratedKeys="true">
        insert into sys_permission (permission_id,tag,summary,path,method)
        values
        <foreach collection="list" item="item" separator=",">
          (
          (select * from (select IFNULL(max(permission_id),#{item.permissionId}) from sys_permission where path=#{item.path}) as a),
          #{item.tag},#{item.summary},#{item.path},#{item.method})
        </foreach>
        ON DUPLICATE KEY UPDATE
        tag=  VALUES(tag),
        summary=  VALUES(summary),
        path=  VALUES(path),
        method=  VALUES(method)
      </insert>
     
  2. 构造DECODE函数的功能
    # 构造DECODE函数的功能
    # FIELD(str,str1,str2,str3,...)
    # 返回值为str1, str2, str3匹配的下标,str表示计算的结果,在找不到str的情况下,返回值为 0
    # ELT(N,str1,str2,str3,...)
    # 若N = 1,则返回值为  str1 ,若N = 2,则返回值为 str2,以此类推。若N 小于1或大于参数的数目,则返回值为 NULL
    # IFNULL(expr1,expr2)
    # 假如expr1 不为 NULL,则 IFNULL() 的返回值为 expr1; 否则其返回值为 expr2
    Select IFNULL(
      ELT(
         FIELD(1, 1, 2, 15, 16, 17, 18, 19)
       ,'Thirteen','Fourteen','Fifteen','Sixteen','Seventeen','Eighteen','Nineteen'
      )
    ,'Adult') str;
     
  3. 日期/时间转换为字符串 函数:date_format(date,format)
    select date_format('2008-08-08 22:23:01', '%Y%m%d%H%i%s');
     
  4. 字符串转换为日期)函数:str_to_date(str, format)
    select str_to_date('08.09.2008 08:09:30', '%m.%d.%Y %h:%i:%s'); -- 2008-08-09 08:09:30
     
  5. 两个日期相减 date1 - date2,返回天数 函数:datediff(date1,date2)
    select datediff('2008-08-08', '2008-08-01'); -- 7
     
  6. 两个日期相减 time1 - time2,返回 time 差值 函数:timediff(time1,time2)
    两个日期相减 time1 - time2,返回 time 差值 函数:timediff(time1,time2)
     
  7. 时间差函数:TIMESTAMPDIFF
    TIMESTAMPDIFF函数,有参数设置,可以精确到月(MONTH)天(DAY)、小时(HOUR),分钟(MINUTE)和秒(SECOND),使用起来比datediff函数更加灵活。对于比较的两个时间,时间小的放在前面,时间大的放在后面
    --相差1天
    select TIMESTAMPDIFF(DAY, '2018-03-20 23:59:00', '2015-03-22 00:00:00');
    --相差49小时
    select TIMESTAMPDIFF(HOUR, '2018-03-20 09:00:00', '2018-03-22 10:00:00');
    --相差2940分钟
    select TIMESTAMPDIFF(MINUTE, '2018-03-20 09:00:00', '2018-03-22 10:00:00');
     
  8. timediff输出转换为日,小时,分钟,秒格式   结果:4天20小时12分钟
    SELECT CONCAT(
        FLOOR(HOUR(TIMEDIFF('2010-01-06 08:46', '2010-01-01 12:30')) / 24), '天',
        MOD(HOUR(TIMEDIFF('2010-01-06 08:46', '2010-01-01 12:30')), 24), '小时',
        MINUTE(TIMEDIFF('2010-01-06 08:46', '2010-01-01 12:30')), '分钟')
     
  9. 查询字段(strlist)中包含(str)的结果,未查到结果返回0,反之返回查到的位置 函数:FIND_IN_SET(str,strlist)
    SELECT FIND_IN_SET('c', 'a,b,c,d')
分享到:
评论

相关推荐

    C#连接MySQL用DLL

    接下来,我们需要引入相应的命名空间,以便在代码中使用MySQL相关的类和方法: ```csharp using MySql.Data.MySqlClient; ``` 现在,你可以开始编写连接MySQL数据库的代码了。以下是一个简单的示例: ```csharp ...

    Linux安装MySQL相关总结文档

    - **使用`find`命令**:`find / -name mysql` 或 `find / -name mysqld` 可以搜索整个文件系统中的MySQL相关目录。 最后,我们来学习如何完全删除MySQL。确保在卸载前备份所有重要数据。以下是一般的步骤: 1. **...

    搭建mysql相关文档

    如果需要卸载 MySQL,执行 `rpm -qa | grep -i mysql` 查找所有 MySQL 相关包,并逐个使用 `rpm -e --nodeps` 进行卸载。 3. **下载并安装 MySQL Yum Repository**: 你可以选择将 MySQL 社区版的 Yum Repository ...

    mysql 相关驱动包

    本篇文章将详细讲解标题中提到的MySQL相关驱动包及其重要性。 1. **mysql-connector-java-5.0.4-bin.jar** 这是MySQL官方提供的Java驱动程序,也被称为`MySQL Connector/J`。它实现了JDBC API,允许Java应用程序...

    mysql 相关介绍以及优化

    mysql 相关介绍以及优化 MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的开源关系数据库管理系统之一,广泛应用于 Web 应用程序中。 MySQL 是一个多线程的...

    mysql相关软件.rar

    这个“mysql相关软件.rar”压缩包中包含了一系列与MySQL相关的工具和资料,旨在帮助用户安装和管理MySQL数据库。 首先,MySQL 5.0的安装程序是这个压缩包的核心内容之一。MySQL 5.0是MySQL的一个较早版本,但仍然被...

    mysql相关相关文件和库

    本压缩包包含了与MySQL相关的文件和库,这些资源对于理解MySQL的运作机制、进行数据库管理和开发至关重要。 首先,我们来了解一下MySQL的基本概念。MySQL基于SQL(结构化查询语言)标准,允许用户通过SQL语句来创建...

    mysql8.0安装包及相关依赖

    这个“mysql8.0安装包及相关依赖”包含了在Linux无网络环境中安装MySQL 8.0所需的所有必要组件,确保用户能够在离线状态下顺利完成安装。 在Linux上安装MySQL 8.0的步骤通常包括以下环节: 1. **下载安装包**:...

    MySQL相关软件

    MySQL是世界上最受欢迎的开源关系型数据库管理系统之一,其稳定性和高效性使得它在全球范围内被广泛应用于各种规模的企业和项目中。本压缩包包含了MySQL的两个重要版本——MySQL5.0和MySQL5.5,以及一个数据库管理...

    MYSQL

    1.6 顺应2000年 1.7 SQL一般信息和教程 1.8 有用的MySQL相关链接 2 MySQL 邮件列表及如何提问或报告错误 2.1 MySQL邮件列表 2.2 提问或报告错误 2.3 怎样报告错误或问题 2.4 在...

    mysql下载,mysql工具

    官方论坛、Stack Overflow和各种技术博客都是获取MySQL相关知识和支持的好地方。 总之,MySQL作为一个强大的数据库系统,提供了全面的工具链来支持其安装、配置和管理。通过下载和安装"mysql-installer-web-...

    MySQL相关工具_MySQL相关工具

    MySQL的相关工具则是为了帮助用户更方便地管理和操作MySQL数据库。 1. MySQL命令行客户端:MySQL的核心工具之一是其命令行客户端,它允许用户通过终端输入SQL语句来与MySQL服务器交互。用户可以创建数据库、表,...

    MYSQL文档完美中文版

    MySQL信息源:介绍如何获取MySQL相关的邮件列表、社区支持和论坛。 4. MySQL标准兼容性 4.1. MySQL遵从的标准是什么:详细说明MySQL遵循哪些数据库标准。 4.2. 选择SQL模式:讨论如何设置MySQL的SQL模式来适应...

    解决mysql failed to open table mysql.event

    - 解决方法:使用`chown`命令改变文件所有者,如`chown mysql:mysql /var/lib/mysql/mysql/event.MYD`,确保所有MySQL相关文件属于`mysql`用户和组。再用`chmod`命令调整权限,如`chmod 750 /var/lib/mysql/mysql/...

    mysql相关资料L

    mysql相关资料L. mysql相关资料L. mysql相关资料L.

    Linux下安装Mysql

    在Linux系统中安装MySQL数据库是许多开发者和系统管理员必须掌握的基本技能。MySQL是一个广泛使用的开源关系型数据库管理系统,尤其在Web应用中极为常见。本文将详细介绍如何在Linux环境下通过RPM包来安装MySQL。 ...

    Mysql相关服务一键启动/关闭.bat

    Mysql相关服务一键启动/关闭的批处理文件;方便一键开启和关闭有关服务;简单的一键开启和关闭脚本。

    mysql5.7.20直装版安装部署,针对安装失败和start server失败的问题

    - 进入注册表编辑器(`regedit.exe`),删除以下位置的MySQL相关条目(如果存在): - `HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL` - `HKEY_LOCAL_MACHINE\SYSTEM\ControlSet...

    mysql 5.7 官方文档

    文档还提及了MySQL的使用源,包括MySQL官方网站、邮件列表、MySQL社区论坛以及IRC等渠道,这些都是获取MySQL相关信息、下载和寻求帮助的重要途径。在寻找帮助时,用户可以通过访问这些资源来与其他MySQL用户交流和...

Global site tag (gtag.js) - Google Analytics