随笔分类 -  MySQL

摘要:一、主键索引和唯一索引的区别 (1)主键是一种约束,唯一索引是一种索引,两者在本质上是不同的。 (2)主键创建后一定包含一个唯一性索引,唯一性索引并不一定就是主键。 (3)唯一性索引列允许空值,而主键列不允许为空值。 (4)主键可以被其他表引用为外键,而唯一索引不能。 (5)一个表最多只能创建一个主 阅读全文
posted @ 2021-06-08 17:41 jason小蜗牛 阅读(3603) 评论(0) 推荐(0) 编辑
摘要:一、mysql之时间截取函数DATE_FORMAT 我有个datatime类型的数据,格式为yyyy-mm-dd hh-mm-ss ,现在我需要把这个数据分成两部分,分别为yyyy-mm-dd和hh-mm-ss,那么我就需要借助函数date_format()来实现。 例如我要把数据 '2019-06 阅读全文
posted @ 2021-03-29 11:48 jason小蜗牛 阅读(801) 评论(0) 推荐(0) 编辑
摘要:索引是用于提高数据检索速度的。本文主要整理一些关于索引的操作,如创建,查看,删除。 一、创建索引 在执行CREATE TABLE语句时可以创建索引,也可以单独用CREATE INDEX或ALTER TABLE来为表增加索引。 (1)ALTER TABLE ALTER TABLE用来创建普通索引、UN 阅读全文
posted @ 2020-10-13 12:13 jason小蜗牛 阅读(170) 评论(0) 推荐(0) 编辑
摘要:char和varchar都是mysql中用来存储字符型数据的,而他们又有些不同。 一、varchar类型 一般初学者会认为,二者占用的空间是一样的。比如说我存储5个char,二者确实实际占用了5个char。但是仔细思考一下,如果二者真的一样的话,那么在设计数据库的时候有必要弄两个类型吗?显然他们是不 阅读全文
posted @ 2020-09-17 10:45 jason小蜗牛 阅读(1044) 评论(0) 推荐(0) 编辑
摘要:mysql中alter主要有两种使用场景,第一种是修改表信息如表名等,第二种是修改表字段信息,如添加字段,修改字段等。第二种使用较多。 第一种修改表信息场景如下: (1)修改表名 alter table test_a rename to sys_app; (2)修改表注释 alter table s 阅读全文
posted @ 2020-09-16 17:14 jason小蜗牛 阅读(178) 评论(0) 推荐(0) 编辑
摘要:数据库时间字段类型为datetime,在进行时间字段插入数据库时,出现了打印出来是当前时间,但是插入到数据库却与当前时间相差8小时。 查资料发现是设置数据库链接时,数据库的时间时区没有设置好,将serverTimezone=UTC或者GMT改成CTT(Asia&Shanghai)就正常了。 完整链接 阅读全文
posted @ 2020-09-16 16:49 jason小蜗牛 阅读(2004) 评论(0) 推荐(0) 编辑
摘要:CREATE TABLE dbname_bodyguard_black_box ( id int(11) NOT NULL AUTO_INCREMENT, login_id varchar(64) DEFAULT NULL COMMENT '用户登录账号,手机号', black_box text C 阅读全文
posted @ 2020-08-03 19:16 jason小蜗牛 阅读(426) 评论(0) 推荐(0) 编辑
摘要:视情况而定,索引有好处也有坏处。为什么要创建索引?这是因为创建索引可以大大提高系统的性能。 第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因。 第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。 阅读全文
posted @ 2020-05-12 21:19 jason小蜗牛 阅读(5564) 评论(0) 推荐(0) 编辑
摘要:一、概述 当数据量过大的时候对于数据库的性能将是很大的考验,因此将会选择进行分库或者分表,或者分库分表结合进行来减少单一数据库的压力,进而提高数据库的性能。从某种程度上说分库分表是一种分治法,将大量数据变成小量数据,大表拆分为小表,从而操作数量少的一部分。 数据的拆分(Sharding)根据其拆分规 阅读全文
posted @ 2020-04-13 20:32 jason小蜗牛 阅读(644) 评论(0) 推荐(0) 编辑
摘要:mysql行号是通过id来进行体现的,他没有Oracle的rownum来显示行号,但是当有些时候需要显示行号的时候,在mysql中只有通过自定义变量来进行体现,但是这种自定义行号不能用作分页,因为每一次查询行号都会从1开始,没有办法进行叠加。这种一般不会用到,可作为了解。 参考博文:https:// 阅读全文
posted @ 2020-03-13 23:09 jason小蜗牛 阅读(3777) 评论(0) 推荐(0) 编辑
摘要:limit i,n; i:为查询结果的索引值(默认从0开始),当i=0时可省略i n:为查询结果返回的数量(也就是条数) 表示从第i+1条开始,取n条数据 limit n 等同于 limit 0,n 索引是从零开始,但是数据是从1开始存储的,也就是说limit 0,1;查询出来的数据是第一条,lim 阅读全文
posted @ 2019-11-19 23:30 jason小蜗牛 阅读(5984) 评论(0) 推荐(0) 编辑
摘要:整理一下sql的关键字,一直都在用,只是很少去整理,所以今天简单整理一下,主要是整理CRUD的一些关键字。 写在前面:sql 不区分大小写 select 简单查询语句 select columnName from tableName where condition group by columnNa 阅读全文
posted @ 2019-11-19 22:34 jason小蜗牛 阅读(3975) 评论(0) 推荐(0) 编辑
摘要:jdbc原生操作数据库流程: 第一步:Class.forName()加载数据库连接驱动; 第二步:DriverManager.getConnection()获取数据连接对象; 第三步:根据 SQL 获取 sql 会话对象,有 2 种方式 Statement、PreparedStatement ; 第 阅读全文
posted @ 2019-10-29 00:02 jason小蜗牛 阅读(771) 评论(0) 推荐(0) 编辑
摘要:一、设计问题 1、主键是用自增还是UUID? Innodb引擎中的主键是聚簇索引。如果主键是自增的,那么每次插入新的记录,记录就会顺序添加到当前索引节点的后续位置,当一页写满就会自动开辟一个新的页。如果不是自增主键,那么可能会在中间插入,就会引发页的分裂,产生很多表碎片! 2、表示枚举的字段为什么不 阅读全文
posted @ 2019-10-20 20:33 jason小蜗牛 阅读(821) 评论(0) 推荐(3) 编辑
摘要:参见这篇博客:https://blog.csdn.net/rongtaoup/article/details/82183743 case when then else end 语句用于查询满足多种条件的情况,类似java中的if...else,还有的就是用于进行行转列的查询,这个是放在select 阅读全文
posted @ 2019-09-23 22:53 jason小蜗牛 阅读(6863) 评论(0) 推荐(0) 编辑
摘要:当把mysql容器销毁,在新建一个容器,进行之前的数据恢复。 因为之前建立了数据卷,那么现在就可以利用这个数据卷进行数据恢复。 使用 命令新建一个数据卷 查看数据卷列表 注意:使用数据卷进行挂载的时候,数据卷必须是一个空的目录,也就是说不能有任何数据。 查看数据的相关信息,例如挂载位置 在恢复数据之 阅读全文
posted @ 2019-08-16 10:37 jason小蜗牛 阅读(3407) 评论(0) 推荐(0) 编辑
摘要:docker pull mysql 从镜像仓库中拉取mysql镜像。 运行镜像 到此mysql在docker容器下运行成功。 使用Navicat连接工具连接到mysql 经过以上步骤就完成了在docker容器下运行mysql并且实现了数据卷的挂载。 阅读全文
posted @ 2019-08-16 10:30 jason小蜗牛 阅读(596) 评论(0) 推荐(0) 编辑
摘要:![](https://img2018.cnblogs.com/blog/1320926/201908/1320926-20190816102103277-1835477152.png) ![](https://img2018.cnblogs.com/blog/1320926/201908/1320926-20190816102123420-1669860857.png) 阅读全文
posted @ 2019-08-16 10:21 jason小蜗牛 阅读(647) 评论(0) 推荐(0) 编辑
摘要:在使用group by进行查询结果分组的时候,报错: 1055 - Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'goodsinfo.item.amount' whi 阅读全文
posted @ 2019-08-16 10:20 jason小蜗牛 阅读(416) 评论(0) 推荐(0) 编辑
摘要:mysql 函数GROUP_CONCAT(temp.amount SEPARATOR ',')的用法 使用场景:例如:想要查询用户的最喜欢购买的几种商品,这个时候就需要使用group_concat(字段 separator 分隔符),因为一个用户会买多个商品,而结果是一行记录,这一行记录里面的字段是 阅读全文
posted @ 2019-08-16 10:18 jason小蜗牛 阅读(2474) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示