![](https://img-blog.csdnimg.cn/2019091813595558.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据库
文章平均质量分 90
关于数据库,MySQL,Postgre等
锥栗
这个作者很懒,什么都没留下…
展开
-
【技术碎片】【PostgreSQL】Mybatis-Plus多值模糊查询,分页查询,order by的使用,遇到的问题
有数据表如下:假设有业务需求需要对查询结果进行多字段排序,比如对id和update_time需要降序排序,并且优先保证id的降序,其次再保证update_time的降序。有结果如下:可以看到id并没有降序排序,并且update_time也没有降序排序。可以发现结果也不对可以发现,如果使用语句则实际上是将查询结果按照update_time做升序,再对id做降序,并且以update_time升序为优先,也就是说desc只对它修饰的id字段生效,所以如果对多个字段排序,需要多次使用descasc。原创 2023-02-23 19:40:48 · 4301 阅读 · 0 评论 -
【PostgreSQL】GIN索引安装与使用 - 全模糊匹配/数组匹配,PG批量插入上万随机生成数据,随机生成字符串/数组
PostgreSQLDBeaver打开SQL编辑器:输入命令运行即可:(光标选中某行后,按ctrl + enter可以只运行选中SQL)其它安装情况可以参考网上教程如:https://www.kancloud.cn/chunyu/php_basic_knowledge/2280100随后我们查看拓展库是否安装完成:建表语句有:随后我们要造假数据,为了合适模糊搜索,最好是随机生成的:随机生成字符串语句如下:有结果:随机生成中文如下:有结果:生成随机数组结合这些方法,我们生成10万条随机假数据插入表原创 2022-12-02 10:07:27 · 3975 阅读 · 0 评论 -
【PostgreSQL】PG左模糊 右模糊匹配查询,如何走btree索引
PG如果直接使用左右模糊查询,可能会不走btree索引,这里记录一下模糊匹配走索引的方法。这里使用DBeaver来操作本地数据库。首先打开SQL编辑页:我们建表为 test.user_content ,维护了主键id,username,user_id和content字段,并且插入一点数据,语句如下:如果使用以下是无法走索引的,因此需要改写为:或者是:执行SQL编辑页:得到我们的test.user_content:可以看到索引和依赖关系:之后我们对username字段进行模糊查询:可以看到成功走原创 2022-11-06 11:09:04 · 3415 阅读 · 0 评论 -
【Mybatis-Plus】【PostgreSQL】List<T> 类型数据如何存数据库
实现基于postgresql,springboot,spring mvc和mybatis-plus,原理是将List<T>转为JSONArray类型,数据库对应字段为json类型,即可完成存储。建表如下:有entity如下:核心实现过程:原创 2022-06-08 22:03:07 · 2695 阅读 · 0 评论 -
【MySQL】索引结构?索引失效的情况?其他相关问题
数据库中的索引结构?MySQL底层结构基于B+树,B+树是从B-树改进而来。先讲一下B-树和B+树的区别:B-树结构和索引情况:树的高度很浅。索引和数据一起分布在整棵树中。数据存储的是数据对应的磁盘地址,k-v结构。索引元素不重复。节点索引从左到右递增。叶子节点之间没有指针。B+树结构和索引情况:所有数据保存在叶子节点。非叶子节点不存数据,只存索引,索引存在冗余,叶子结点包含所有索引。叶子结点用指针连接,提高范围查找性能。B+数有两个头指针,一个指向根结点,一个指向关键字索引最小的原创 2021-07-31 08:32:30 · 366 阅读 · 0 评论 -
【MySQL】MySQL的入门级基本操作-02
环境cmd命令行MySQL 8.0.25分组 GROUP BY书接上回,GRUOP BY可以按照你指定的条目进行分组,还记得我们的my_table2:如果我想看看在my_table2当中不同的诗人出现多少次咋办呢?(或者说,诗人的作品在表my_table2中到底有多少?)此时我们可以用在SELECT子句中使用GROUP BY:SELECT my_author, COUNT(*) FROM my_table2 GROUP BY my_author;可以看到在表中,李白和苏轼各自都有2个作原创 2021-07-12 08:53:46 · 145 阅读 · 0 评论 -
【MySQL】MySQL的入门级基本操作-01
环境cmd命令行MySQL 8.0.25进入MySQL首先进入到MySQL,我是命令行形式。查看所有数据库输入SHOW DATABASES;所有查看数据库。创建数据库输入CREATE DATABASE 数据库名字;创建一个新的数据库我创建了名为test的数据库。那我再创一个名为test2的数据库:CREATE DATABASE test2;删除数据库我觉得test2数据库有点多余,可以用DROP DATABASE test2;删掉:可以看到,我忘了输入;,原创 2021-07-09 19:29:38 · 147 阅读 · 0 评论