iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL特殊函数使用技巧梳理
  • 161
分享到

MySQL特殊函数使用技巧梳理

mysql特殊函数mysql特有函数mysql特有语句 2023-05-20 05:05:59 161人浏览 独家记忆
摘要

目录1. group_concat2. char_length3.locate4.replace5.now6.insert into … select7.in

1. group_concat

使用group_concat函数,可以轻松的把分组后,name 相同的数据拼接到一起,组成一个字符串,用逗号分隔。

2. char_length

通过该函数就能获取字符长度。

3.locate

在某个字符串中的位置

4.replace

将字符串中的字符 A 替换成 B。REPLACE(name,‘A’,‘B’)

5.now

获取当前时间

6.insert into … select

INSERT INTO `brand`(`id`, `code`, `name`, `edit_date`)
select null,code,name,now(3) from `order` where code in ('004','005');

这样就能将 order 表中的部分数据,非常轻松插入到 brand 表中。

7.insert into … ignore

INSERT ignore INTO `brand`(`id`, `code`, `name`, `edit_date`)
VALUES (123, '108', '苏三', now(3));

如果 brand 表中已经存在 name 为苏三的数据了,则该 sql 语句也能正常执行,并不会报错。因为它会忽略异常,返回的执行结果影响行数为 0,它不会重复插入数据。

8.select … for update

begin;
select * from `user` where id=1
for update;
//业务逻辑处理
update `user` set score=score-1 where id=1;
commit;

这样在一个事务中使用for update住一行记录,其他事务就不能在该事务提交之前,去更新那一行的数据。

需要注意的是 for update 前的 id 条件,必须是表的主键或者唯一索引,不然行锁可能会失效,有可能变成表锁

9.on duplicate key update

通常情况下,我们在插入数据之前,一般会先查询一下,该数据是否存在。如果不存在,则插入数据。如果已存在,则不插入数据,而直接返回结果。

在没啥并发量的场景中,这种做法是没有什么问题的。但如果插入数据的请求,有一定的并发量,这种做法就可能会产生重复的数据。

当然防止重复数据的做法很多,比如:加唯一索引、加分布式锁等。

但这些方案,都没法做到让第二次请求也更新数据,它们一般会判断已经存在就直接返回了。

这种情况可以使用on duplicate key update语法。

该语法会在插入数据之前判断,如果主键或唯一索引不存在,则插入数据。如果主键或唯一索引存在,则执行更新操作。

INSERT  INTO `brand`(`id`, `code`, `name`, `edit_date`)
VALUES (123, '108', '苏三', now(3))
on duplicate key update name='苏三',edit_date=now(3);

这样一条语句就能轻松搞定需求,既不会产生重复数据,也能更新最新的数据。

但需要注意的是,在高并发的场景下使用on duplicate key update语法,可能会存在死锁的问题,所以要根据实际情况酌情使用。

10.show create table

有时候,我们想快速查看某张表的字段情况,通常会使用desc命令

desc `order`;

查看索引信息

show index

我们能够看到非常完整的建表语句,表名、字段名、字段类型、字段长度、字符集、主键、索引、执行引擎等都能看到

show create table
show create table `order`;

11.create table … select

有时候,我们需要快速备份表。

通常情况下,可以分两步走:

创建一张临时表

将数据插入临时表

创建临时表

create table order_2022121819 like `order`;

将 order 表的数据插入到 order_2022121819 表中,也就是实现数据备份的功能。

insert into order_2022121819 select * from `order`;

整合上面两条命令

create table order_2022121820select * from `order`;

总结

到此这篇关于Mysql特殊函数使用技巧梳理的文章就介绍到这了,更多相关mysql特殊函数技巧内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL特殊函数使用技巧梳理

本文链接: https://www.lsjlt.com/news/214045.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL特殊函数使用技巧梳理
    目录1. group_concat2. char_length3.locate4.replace5.now6.insert into … select7.in...
    99+
    2023-05-20
    mysql特殊函数 mysql特有函数 mysql特有语句
  • MYSQL函数的使用梳理
    目录MYSQL函数1:聚合函数2:数学函数2:字符串函数3:日期函数4:控制流函数5:窗口函数5.1 序号函数5.2 分布函数5.3 前后函数5.4 头尾函数5.5 其他函数5.6 ...
    99+
    2024-04-02
  • winxp技巧使用方法及特殊之处详解
    1.在记事本中自动记录文件的打开时间 在记事本中,我们可以记录每次打开某个文本文件的时间,方法为:在该文件的第一行输入“.LOG”(注意:必须大写!),然后换行开始正文。这样在每次打开了该文件之后...
    99+
    2023-05-26
    winxp技巧 windowsxp使用技巧 使用 winxp 技巧 方法
  • Python函数的定义、特点和使用技巧
    本篇内容介绍了“Python函数的定义、特点和使用技巧”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!函数特点隐藏实现功能的细节重用代码提高可...
    99+
    2023-06-02
  • JavaScript中的特殊函数怎么使用
    这篇文章主要介绍“JavaScript中的特殊函数怎么使用”,在日常操作中,相信很多人在JavaScript中的特殊函数怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JavaScript中的特殊函数怎...
    99+
    2023-07-02
  • PHP 函数使用技巧
    掌握 php 函数的使用技巧至关重要,其中包括类型提示、默认参数值和可变参数。这些技巧可提升代码的可读性、可维护性和效率。例证中展示了利用 php 函数计算一组矩形周长的实战案例,充分体...
    99+
    2024-04-10
    函数 php 代码可读性
  • 泛型在golang中的特殊用例和技巧
    go 中泛型的特殊用例和技巧使用空类型接口进行动态类型检查,检查运行时类型。在集合中使用泛型类型参数,创建多样化类型的容器。实现泛型方法,为不同类型的参数执行通用操作。使用类型约束实现特...
    99+
    2024-05-03
    golang 泛型
  • mysql特殊字符的转义及javascript转义函数怎么使用
    本篇内容介绍了“mysql特殊字符的转义及javascript转义函数怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!MySQL中特殊...
    99+
    2023-07-06
  • c++特殊构造函数怎么用
    这篇文章给大家分享的是有关c++特殊构造函数怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。拷贝构造函数拷贝构造:是C++特有的,他是一种特殊的构造函数用于基于一个同一个类的的第一个对象去创造和初始化的一个对...
    99+
    2023-06-22
  • C++分析构造函数与析造函数的特点梳理
    目录构造函数的调用构造函数的分类及调用拷贝构造的调用时机深拷贝与浅拷贝构造函数的调用 默认情况下编译器至少给一个类添加3个函数 1.默认构造函数(无参,函数体实现)--完成对象的初始...
    99+
    2024-04-02
  • 软件测试业务梳理的实用技巧
    目录测试业务梳理一、为什么要梳理业务?二、梳理框架1. 测试场景2. 业务3. 系统4. 数据5. 安全6. 性能7. 数据分析8. 监控报警9. 应急预案测试业务梳理 在日常的测试...
    99+
    2024-04-02
  • Pandas爆炸函数的使用技巧
    本文中记录的是如何使用pandas来实现hive中爆炸函数的功能 具体需求 统计每个员工的销售记录: 有作为销售员、跟单员、结单员的任意一种,即可说明参与了该订单的销售记录...
    99+
    2024-04-02
  • mysql常用函数与视图索引全面梳理
    目录常用函数几种函数类型1、日期函数2、字符串函数3、数字函数4、聚合函数合并视图索引视图概念及特点视图作用基本语法索引概念优缺点分类索引维护常见的错误代码常用函数 函数的概念及特点: 与Java,js中的函数概念一致 ...
    99+
    2024-04-02
  • Golang函数的指针参数使用技巧
    Golang函数的指针参数使用技巧在Golang中,函数的指针参数是非常常见的用法。它可以让我们在函数内部修改传入的参数值,而不需要返回多个值。本文将介绍一些使用指针参数的技巧,以及注意事项。一、指针参数的定义在Golang中,使用指针作为...
    99+
    2023-05-16
    技巧 Golang 函数指针
  • 如何在MySql中使用特殊运算符
    本篇文章给大家分享的是有关如何在MySql中使用特殊运算符,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1. <=> 安全比较运算...
    99+
    2024-04-02
  • 软件测试业务梳理的实用技巧有哪些
    这篇文章主要介绍了软件测试业务梳理的实用技巧有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇软件测试业务梳理的实用技巧有哪些文章都会有所收获,下面我们一起来看看吧。一、为什么要梳理业务?因为在业务测试中,作...
    99+
    2023-06-30
  • MyBatis中怎么使用TypeHandler处理特殊数据类型
    在 MyBatis 中使用 TypeHandler 处理特殊数据类型的步骤如下: 创建一个自定义的 TypeHandler 类,继...
    99+
    2024-04-08
    MyBatis
  • 浅析JavaScript中的特殊函数及用法小结
    目录写在前面 匿名函数回调函数自调函数作为值的函数写在前面 JavaScript中的函数本质上是一个对象,我们可以将这个对象赋值给一个变量,这就使JavaScript中的函...
    99+
    2024-04-02
  • Redis特殊数据类型Geospatial怎么使用
    这篇文章主要介绍“Redis特殊数据类型Geospatial怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Redis特殊数据类型Geospatial怎么使用”文章能帮助大家解决问题。Redi...
    99+
    2023-06-30
  • Redis的特殊数据类型如何使用
    这篇文章主要介绍“Redis的特殊数据类型如何使用”,在日常操作中,相信很多人在Redis的特殊数据类型如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Redis的特殊数据类型如何使用”的疑惑有所帮助!...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作