【mysql数据库常用语句】springboot中常用的mysql数据库语句,增删改查,id自增,自动生成时间等【清晰明了,持续更新完善】

这个帖子是个汇总笔记,目前用到的一些语句统计一下,网上看的很多帖子写的繁琐,找个语句扯一堆别的,我直接简单的对应功能来一句句的标明清晰一点,后面再学到新的语句会继续更新进来。这些都是我自己写过有用的,不是百度搜来的,没亲自试过就不写上来了。

增:

(1)增加一条数据:

@Update("INSERT INTO `表名`( `name`, `address`, `age`) VALUES (#{name},#{address},#{age}")

删:

(1)根据传的id删除一条对应数据:

@Delete("delete from 表名 where id=#{id}")

改:

(1)根据id修改对应一条数据:

@Update("update 表名 set name=#{name},address=#{address},age=#{age},sex=#{sex},phone=#{phone} where id=#{id}")

查:

(1)表的所有数据:

@Select("select * from 表名")

(2)按照id查询对应数据:

where:代表按条件查询

@Select("select * from 表名 where id=#{id}")

(3)传参查询,多条件用and链接:

@Select("select * from 表名 where username = #{username} and password= #{password}")

(4)查询表内的数据总条数:

count(*):代表查询总数,只有一个星号就是查询数据

@Select("SELECT count(*) FROM 表名")

(5)查询表内模糊查询符合条件的数据的总数:

count代表查总数
where是查询条件
like是模糊查询
searchValue是参数,传进去
前后百分号是模糊查询的字符不管在前面还是后面都搜索出来意思,只加在前面就模糊搜索只能收到字符在前面的数据,后面有的就搜索到,后百分号同理

@Select("select count(*) from 表名 where 字段名 like concat('%',#{searchValue},'%')")

(6)模糊查询:

查询表中这个字段的数据是否符合模糊查询条件

@Select("select * from 表名 where 字段名 like concat('%',#{searchValue},'%')")

(7)分页查询(根据页码和页数查询对应数据):

limit:代表分页
currentPage:传进来的参数,代表当前页
pageSize:传进来的参数,代表每页显示个数

@Select("select * from 表名  limit #{currentPage},#{pageSize}")

(8)结合符合模糊查询条件的数据并且分页查询:

@Select("select * from 表名 where 字段名 like concat('%',#{searchValue},'%') limit #{currentPage},#{pageSize}")

(9)在符合条件的数据随机抽取2条数据

entryName就是条件判断,不需要条件的直接删除WHERE entryName=#{entryName}

    //搜索词条对应的随机数据
    @Select("SELECT * FROM simulation WHERE entryName=#{entryName} ORDER BY RAND() LIMIT 2 ")

id自动递增方法:

用navicat直接按图设置,勾选了自动递增,他就可以自动递增了
再插入数据的时候不需要输入id,直接输入别的字段就行了,会自动递增。
在这里插入图片描述

插入数据时自动生成当前时间

按图设置
注意图中要输入的:CURRENT_TIMESTAMP
在这里插入图片描述

设置自动递增id后删除一个数据,再次新增数据id递增没有清除

我们时长测试的时候增加删除时会有一种情况,当id设置自动递增的时候,点击下面的减号删除一条数据,正常比如一条数据id是1,那么删除后再新增,数据应该id还是1,但是会出现从2开始递增的情况,因为第一条数据的递增并没有清除,所以需要在数据库内输入指令清除所有

图1:点减号删除对应一条数据
在这里插入图片描述
图2:输入这个语句点击运行就可以清空对应的表
truncate table 表名

注意:此语句会把表中数据全部清空

在这里插入图片描述

自动生成日期返回前端的格式转换方法

上面我们定义的Timestamp格式的日期,那我们返回到前端的时候前端会出现这样的格式:
2022-03-30T02:30:00.000+0000
但是实际上,前端需要的是这样的格式
2022-03-30
解决办法:
在你的实体类时间的变量上面加个注释。
前面的字母格式分别代表,年月日,时分秒。后面GTM+8代表中国时区,也就是按中国时间计算。
如果你想要2022-03-30这种格式,就把 yyyy-MM-dd HH:mm:ss 改成 yyyy-MM-dd

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Timestamp createTime;

猜你喜欢

转载自blog.csdn.net/seeeeeeeeeee/article/details/123840222