数据库
文章平均质量分 71
.CONSTANT
努力搬砖!
展开
-
Redis中有常见数据类型
string是redis最基本的类型,而且string类型是二进制安全的。意思是redis的string可以包含任何 数据,比如jpg图片或者序列化的对象String类型是最基本的数据类型,一个redis中字符串value最多可以是512Mredis底层提供了三种不同的数据结构实现字符串对象,根据不同的数据自动选择合适的数据结 构。这里的字符串对象并不是指的纯粹的字符串,数字也是可以的当保存的数据中包含字符时,String类型就会用简单动态字符串SDS结构体来保存。原创 2023-02-09 10:45:03 · 534 阅读 · 1 评论 -
Redis缓存雪崩、缓存穿透、缓存击穿详解
解决方案:可以使用一个默认值来防止,例如,当访问一个不存在的 key,然后再去访问数据库,还是 没有,那么就在缓存里放一个占位符,下次来的时候,检查这个占位符,如果发生时占位符,就不去数 据库查询了,防止 DB 宕机。解决方案: 使用分布式锁,例如 zookeeper,同时加入数据的时间戳。同一时刻,只有抢到锁的客户端 才能写入,同时,写入时,比较当前数据的时间戳和缓存中数据的时间戳。解释 2: 大量请求查询一个刚刚失效的 key,导致 DB 压力倍增,可能导致宕机,但实际上,查询的都 是相同的数据。原创 2023-02-01 21:15:54 · 384 阅读 · 0 评论 -
JDBC的工作原理
在JDBC技术中可以通过Connection对象中的commit()方法执行提交事务的操作;通过Connection对象中的rollback()执行事务的回滚操作,该回滚操作通过cacth()区域中进行设置。在关系型数据库(例如:SQL Server,MySQL)中,事务就是一条或者一组保存、更新数据库记录的SQL语句。在MYSQL数据库,创建一个数据库,并且在该数据库下创建学生信息表,含有学生的基本信息,并通过JDBC实现对该数据表内容实现添加、修改、删除和查询的操作。原创 2022-11-09 21:03:41 · 285 阅读 · 0 评论 -
mysql隔离级别
隔离级别描述允许事务读取其它事务没有提交的数据,脏读、不可重复读和幻读问题都会出 现只允许事务读取其它事务已经提交的数据,可以避免脏读,但是不可重复读和 幻读问题都会出现可以保证多次从一个字段中读取相同的数据,可以认为事务开启时会自动对现 有数据进行快照,其它事务修改不管是否提交,当前事务读取的时快照数据, 可以避免脏读和不可重复读,但是幻读问题会出现。快照是MVCC多版本并发控 制可以确保事务是串行执行,可以避免所有的并发问题,但是由于性能低下,一 般不使用。原创 2022-11-02 21:19:08 · 148 阅读 · 0 评论 -
mysql查询语句练习
6、找出10部门的经理、20部门的职员 或者既不是经理也不是职员但是工资高于2000元的员工信息。34、返回工资为二等级的职员名字、部门所在地、和二等级的最低工资和最高工资。28、返回部门号、部门名、部门所在位置及其每个部门的员工总数。19、返回雇员的雇佣日期早于其经理雇佣日期的员工及其经理姓名。2、找出从事clerk工作的员工的编号、姓名、部门号。26、返回与30部门员工工资水平相同的员工姓名与工资。5、找出10部门的经理、20部门的职员的员工信息。29、返回员工的姓名、所在部门名及其工资。原创 2022-10-31 23:38:21 · 73 阅读 · 0 评论 -
MySQL事务
MySQL事务机制主要用于处理操作量大、复杂度高的数据事务必须满足ACID4个条件:A原子性、C一致性、I隔离性、D持久性 事务的进行过程中,在未结束之前,DML语句并不会直接更改底层数据,只是将历史操作记录一下,在 内存中完成记录。只有在事务结束时,而且应该是成功结束时,才会修改底层硬盘文件中的数据如果每次读写数据都需要磁盘的IO,效率会很低。innodb提供了缓存buffer pool作为访问数据库的缓 存,读取和修改操作都会涉及到缓存的操作,缓存会定期刷新到磁盘中,但是写入缓存的数据在系统宕 机时会丢原创 2022-10-24 20:59:25 · 469 阅读 · 0 评论 -
MySQL索引
就是关键字和数据的映射关系,关键字是从数据中提取的用于标识、检索数据的特定内容MySQL中的索引类型可以分为普通索引、唯一索引、主键索引、全文索引和空间索引(针对空间类型的 数据)原创 2022-10-23 17:14:31 · 179 阅读 · 0 评论 -
mysql视图
视图一方面可以帮助使用表的一部分而不是表的所有,另一方面也可以针对不同的用户制定不同的查询 视图。比如针对公司的销售人员,只想给他看部分数据,而某些特殊的数据,比如采购的价格,则不会 提供给他。再比如人员薪酬是个敏感的字段,那么只给某个级别以上的人员开放,其他人的查询视图中 则不提供这个字段。原创 2022-10-22 16:19:04 · 144 阅读 · 0 评论 -
mysql分组操作group by
mysql分组操作可以使用 GROUP BY 子句将表中的数据分成若干组原创 2022-10-20 21:31:02 · 223 阅读 · 0 评论 -
存储引擎Innodb和MyISAM的区别
存储引擎Innodb和MyISAM的区别存储引擎定义MySQL中的数据、索引以及其它的数据库对象如何存储,是一套文件系统的实现。原创 2022-10-18 23:21:27 · 157 阅读 · 0 评论 -
group by-分组操作
可以使用 GROUP BY 子句将表中的数据分成若干组扩展:特殊用法。使用WITH ROLLUP关键字之后,在所有查询出的分组记录之后增加一条记录,该记录 计算查询出的所有记录的总和,即统计记录数量注意:当使用ROLLUP时,不能同时使用ORDER BY子句进行结果排序,即ROLLUP和ORDER BY 是互相排斥的。原创 2022-10-15 18:04:36 · 302 阅读 · 0 评论 -
mysql 5类聚集函数
聚集函数用于对于一个集合中的数据进行处理,不是一行一行的数据。原创 2022-10-16 20:42:53 · 299 阅读 · 0 评论 -
数据库-范式NF
设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不 同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。目前关系数据库有5+1级范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式 (BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。满足最低要求的范式是第一范式(1NF)。在第 一范式的基础上进一步满足更多规范要求的称为第二范式(2NF),其余范式以次类推。如果不满足所要求 的范式,则将不满足范式要求的部分进行分表。原创 2022-10-12 20:36:15 · 393 阅读 · 0 评论 -
mysql字符串类型
char(n)定长字符串,n值用于表示所允许的最大长度,取值范围0-255,如果不指定长度,则默认1。varchar(n)可变长度的字符串,n值取值范围为0-65535,如果不设置n值则报错。char和varchar。原创 2022-10-10 10:42:31 · 550 阅读 · 0 评论 -
AUTO_INCREMENT
需要auto_increment从头开始进行计数则需要使用 truncate table 表名称 删除数据 如果想删除所有的数据行又想保留序列编号信息,可这样用一个带where的delete命令以抑制 MySQL的优化:delete from table_name where 1;4、AUTO_INCREMENT数据列序号的最大值受该列的数据类型约束,如TINYINT数据列的最大编号 是127,如加上UNSIGNED,则最大为255。AUTO_INCREMENT数据列必须具备NOT NULL属性。原创 2022-10-09 21:07:18 · 909 阅读 · 0 评论 -
mysql数值型
decimal和numeric作为字符串存储浮点数,可以实现浮点数的精确存储,并不是float和double种使用 二进制浮点数存储。小数位数最 大值30,总位宽最大值为65,注意可能存储的数据会超出范围,其中的符号位和小数点不占位宽,null的意思为未知的数据,它既不是空字符串,不是任何一个具体的值;可以在类型名后添加括号,其中包含一个正整数,例如int(5),这里的含义并不是要求只能存放5位长度 的整数;default只有在不插入数据时生效,如果插入数据,即使插入null值,仍旧不生效。原创 2022-10-08 20:45:37 · 471 阅读 · 0 评论 -
SQL完整性约束
DBMS为了保证存储的数据都是完整有效的,避免存放垃圾数据,所以提供针对插入的数据进行检查。原创 2022-09-29 21:34:43 · 1526 阅读 · 0 评论 -
MySQL中的varchar和char
varchar的10代表了申请的空间长度,也是可以存储的数据的最大长度,而int的10只是代表了展示的长度, 不足10位以0填充.也就是说,int(1)和int(10)所能存储的数字大小以及占用的空间都是相同的,只是在展示 时按照长度展示.char是一个定长字段,假如申请了 char(10) 的空间,那么无论实际存储多少内容.该字段都占用10个字符, 而varchar是变长的,也就是说申请的只是最大长度,占用的空间为实际字符长度+1,最后一个字符存储使用了多长的空间.原创 2022-09-28 20:54:17 · 876 阅读 · 0 评论 -
MySQL基本操作语句
用于定义数据库对象的操作语句。原创 2022-09-23 21:38:26 · 175 阅读 · 0 评论 -
数据库概论
数据库是指长期存储在计算机内有组织可共享的数据集合。数据库中的数据以及数据之间的关系按照一 定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并在一定的范围内可以被多个用户共享。原创 2022-09-21 21:39:14 · 74 阅读 · 0 评论