【MySQL】随手笔记(积跬步至千里)

news2024/9/20 0:51:49

 一、常用函数

(1)uuid()

select uuid(); //生成随机数
select replace(uuid(),'-','');   //将随机数的-去掉
select upper(replace(uuid(),'-',''));  ///改成大写

应用举例:

(1)非自增主键

 非自增主键,insert语句的value中必须要有这个主键,下面的例子主键是id

 Mapper.xml

<insert id="insertTemplateContractInfo" parameterType="com.bocsoft.cmis.e20200.cmis02.dal.entity.contract.model.TemplateContractInfo">
   <selectKey resultType="java.lang.String" order="BEFORE" keyProperty="id">
   SELECT UPPER(REPLACE(UUID(),'-',''))
 </selectKey>
    insert into template_info(id,order_Id,template_id,rec_id,template_type,template_name,template_attachment_id,business_type,start_time,post_no,status,list_no,LINE,isGuarantee,apply_business_name,post_file_id,attachment_id)
    values(#{id},#{orderId},#{templateContractId},#{recId},
    <if test="templateType == ''">null</if>
 <if test="templateType != ''">#{templateType}</if>
    ,#{templateName},#{template_attachment_id},
    <if test="businessType == ''">null</if>
 <if test="businessType != ''">#{businessType}</if>
    ,#{startTime},#{postNo},#{status},#{listNo},#{line},#{isGuarantee},#{applyBusinessName},#{postFileId},#{attachment_id})
  </insert>

 (2)自增主键

自增主键, insert语句的value中不需要有这个主键,因为本来就是自增的,会自动生成+1,下面的例子主键是law_id,value中没有写law_id,不需要

Mapper.xml

<insert id="insertLawAdStatisDetail" parameterType="java.util.Map">
  <selectKey resultType="java.lang.Long" order="AFTER" keyProperty="lawNo">
   select last_insert_id()
  </selectKey>
  insert into lawad_statis_detail(rec_id,branch1_id,SIGN_OUT_DATE) values(#{recId},#{branch1Id},#{date})
 </insert>

 

(2) last_insert_id()

一般我们在创建表时,表的主键(id),都会设置为 primary key 和 auto_increment。这样我们在 insert 数据时可以不用指定 id,MySQL 会自动根据上一条的 id,使本次 insert 的数据 id 自增 1。

如果我们在数据库新插入一条数据并且想立即操作 ta(这时想要知道 ta 的 id)。

MySQL 为我们提供了以下方法(只适用于自增主键)

//获取当前执行的最后一个insert语句的自增ID
select last_insert_id();

应用:

可以取得自增主键的值,省去添加完数据还要重新查询一次Id值的麻烦

ServiceImpl.java

Map detailMap = new HashMap();
   detailMap.put("recId",basicInfo.getRecId());
   // todo 不从session获取一级行,待确定
   //detailMap.put("branch1Id", UserUtil.getUser(session).getBranch1());
   detailMap.put("branch1Id", user.get(0).getBranch1());
   detailMap.put("date",signoutDate);
   lawADDao.insertLawAdStatisDetail(detailMap);

   int lawNo = Integer.parseInt(detailMap.get("lawNo") + "");

 

 Mapper.xml

<insert id="insertLawAdStatisDetail" parameterType="java.util.Map">
  <selectKey resultType="java.lang.Long" order="AFTER" keyProperty="lawNo">
   select last_insert_id()
  </selectKey>
  insert into lawad_statis_detail(rec_id,branch1_id,SIGN_OUT_DATE) values(#{recId},#{branch1Id},#{date})
 </insert>

二、SQL基础

1、建表

CREATE TABLE `test_detail` (
  `REC_ID` VARCHAR(32) NOT NULL COMMENT '记录id',
  `LAW_NO` INT NOT NULL AUTO_INCREMENT,
  `BRANCH1_ID` VARCHAR(5) DEFAULT NULL COMMENT '一级机构号',
  `SIGN_OUT_DATE` DATETIME DEFAULT NULL COMMENT '签发时间',
  PRIMARY KEY (`LAW_NO`) USING BTREE,
  UNIQUE KEY `REC_ID` (`REC_ID`) USING BTREE
) ENGINE=INNODB AUTO_INCREMENT=6791 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='意见发文号详情'

 

2、备份表

CREATE TABLE test1_20231115 LIKE test1;
INSERT INTO test1_20231115 SELECT * FROM test1;

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1212821.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【LabVIEW学习】1.对labview的初步使用,控制数据流动,快捷键,参考手册打不开怎么办

一。初步使用labview 1.程序图标 2.打开之后继续点击新建VI 原因&#xff1a;最后的程序后缀就是 .vi 3.新建之后&#xff0c;会有三个界面&#xff08;没有不要紧&#xff0c;找找肯定有&#xff09; 4.程序操作方法 1.拖动控件到前面板 2.此时程序框图会出现对应的控件 拖动…

分享篇:最近在研究的AIGC内容

最近在研究AIGC自助生成报告的内容&#xff0c;分享一些查到的资料 前言&#xff08;一些使用心得&#xff09; 1、大模型会颠覆一些生产力&#xff0c;让强的人更强 归根到底&#xff0c;大模型是工具&#xff0c;和早些年的excel、python、ps没差&#xff0c;能不能用好工…

今年副业比主业赚得多...

我是从20年开始接触副业的&#xff0c;主要是在程序员外包平台上接单。从一开始的月入0到几百&#xff0c;到现在每个月稳定有小一万的收入。这个月接了一个比较大的项目&#xff0c;结款之后发现今年的副业已经比主业赚得多了&#xff0c;简直美滋滋~ 今年主业收入8w&#xff…

优维产品最佳实践第14期:让重要告警能有序跟进,最终根治

监控系统的首要任务是利用特定指标来反映系统内部的健康状态&#xff0c;当指标异常时&#xff0c;会触发告警。对于简单告警的处理&#xff0c;基于告警轨迹可清晰记录和观察告警的状态变化过程。 然而&#xff0c;对于一个复杂告警的处理&#xff0c;可能需要多角色多部门协…

NSSCTF第12页(2)

[CSAWQual 2019]Unagi 是xxe注入&#xff0c;等找时间会专门去学一下 XML外部实体&#xff08;XXE&#xff09;注入 - 知乎 【精选】XML注入学习-CSDN博客 【精选】XML注入_xml注入例子-CSDN博客 题目描述说flag在/flag下 发现有上传点&#xff0c;上传一句话木马试试 文件…

C语言不可不敲系列:跳水比赛排名问题

目录 1题干&#xff1a; 2解题思路&#xff1a; 3代码: 4运行结果: 5总结: 1题干&#xff1a; 5位运动员参加了10米台跳水比赛&#xff0c;有人让他们预测比赛结果 A选手说&#xff1a;B第二&#xff0c;我第三&#xff1b; B选手说&#xff1a;我第二&#xff0c;E第四&am…

5种方法,教你如何清理接口测试后的测试数据!

在接口测试之后&#xff0c;清理测试数据是一个很重要的步骤&#xff0c;以确保下一次测试的准确性和一致性。以下是一些常见的测试数据清理方法&#xff1a; 1. 手动清理&#xff1a; 这是最基本的方法&#xff0c;即手动删除或重置测试数据。您可以通过访问数据库、控制台或…

4、智能家居框架设计和代码文件工程建立

目录 一、智能家居项目框架 二、智能家居工厂模式示意 三、代码文件工程建立 SourceInsight创建新工程步骤 一、智能家居项目框架 二、智能家居工厂模式示意 三、代码文件工程建立 创建一个名为si的文件夹用于保存SourceInsight生成的文件信息&#xff0c;然后在SourceInsig…

SOLIDWORKS Flow Simulation阀门内流体仿真

Flow Simulation 导读 阀门作为输送系统中的控制设备其主要功能是接通管路中的流体介质,又或是调节流体的流量、压力等&#xff0c;在阀门的设计中&#xff0c;流量系数Cv,Kv&#xff0c;以及流阻系数都是基本参数&#xff0c;本节将讲解通过SOLIDWORKS Flow Simulation在三维…

记录一次 添加脚本的记录+改错记录

1.Update 和 Delete 一定要记得where条件 update 表名称 set 字段1‘修改的值’ &#xff08;单引号&#xff09; where 字段‘’ and Aid‘’; update jxkh22 set JXKH2200001 ,JXKH2201002 where B003 and JXKH22034;delete from table_name where condition delete from …

from PIL import Image报错

ERROR: Could not find a version that satisfies the requirement PIL (from versions: none) ERROR: No matching distribution found for PIL 报错原因&#xff1a;PIL导包是用的from PIL import Image&#xff0c;但是安装的时候是Pillow库 正确的包名为&#xff1a;Pillo…

15分钟,不,用模板做数据可视化只需5分钟

测试显示&#xff0c;一个对奥威BI软件不太熟悉的人来开发数据可视化报表&#xff0c;要15分钟&#xff0c;而当这个人去套用数据可视化模板做报表&#xff0c;只需5分钟&#xff01; 数据可视化模板是奥威BI上的一个特色功能板块。用户下载后更新数据源&#xff0c;立即就能获…

ALPC_Natural_Selection

刚刚结束的ICPC2023沈阳是自然选择号的最后一场 XCPC 区域赛&#xff0c;很高兴也很幸运能拿到校排名 rk4&#xff0c;圆了一个这半年才开始做的梦。在这里讲一下这支队伍的故事。 组队、训练 本来和wjy666&#xff08;aka maple&#xff09;打完 EC Final 之后是想要退役的&…

linux高级篇基础理论一(详细文档、Apache,网站,MySQL、MySQL备份工具)

♥️作者&#xff1a;小刘在C站 ♥️个人主页&#xff1a; 小刘主页 ♥️不能因为人生的道路坎坷,就使自己的身躯变得弯曲;不能因为生活的历程漫长,就使求索的 脚步迟缓。 ♥️学习两年总结出的运维经验&#xff0c;以及思科模拟器全套网络实验教程。专栏&#xff1a;云计算技…

基于乌鸦算法优化概率神经网络PNN的分类预测 - 附代码

基于乌鸦算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于乌鸦算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于乌鸦优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针对PNN神经网络的光滑…

go语言 | 图解反射(二)

reflect.Value 和 reflect.Type 反射有两种类型 reflect.Value 和 reflect.Type &#xff0c;分别表示变量的值和类型&#xff0c;并且提供了两个函数 reflect.ValueOf 和 reflect.TypeOf 分别获取任意对象的 reflect.Value 和 reflect.Type。 reflect.Value reflect.Value 可…

Using Definition View 使用定义视图

You use Definition view to create definitions within a defined hierarchical structure, in which nodes represent the definitions. A node is the visual representation of a section, step, or action that you can select, collapse,modify, and so on. 您可以使用“…

JVM虚拟机——类加载器(JDK8及以前,打破双亲委派机制)(JDK9之后的类加载器)

目录 1.自定义类加载器2.线程上下文类加载器3.OSGi模块化4.JDK9之后的类加载器5.类加载器总结 1.自定义类加载器 ⚫ 一个Tomcat程序中是可以运行多个Web应用的&#xff0c;如果这两个应用中出现了相同限定名的类&#xff0c;比如Servlet类&#xff0c;Tomcat要保证这两个类都能…

nestJs(三) 数据库

真正的服务往往包括数据存储。 本篇将介绍如何建立 NestJs 的数据库连接、并使用数据库联表查询。这样就就是完整的后台服务了。 开发准备 下载并安装 Mysql创建 school 库 create database school;3.安装 nestjs/typeorm typeorm mysql2 npm install --save nestjs/typeor…

医学图像 开源数据整理合集1

本文为医学图像 开源数据整理合集&#xff0c;为科研数据提供方便和检索。 目录 1 NIH database of 100000 Chest X-rays 2 The Cancer Imaging Archive (TCIA) 3 National Institute for Mental Healths (NIMHs) OpenNeuro.org 4 RSNAs Quantitative Imaging Data Wareh…