java_Mysql

这篇博客总结了MySQL的重点知识,包括数据库类型、三范式、常用函数、存储引擎对比、B+树原理、事务特性、锁机制、SQL优化和数据库优化策略。深入探讨了InnoDB和MyISAM引擎的差异,强调了事务的ACID属性,解释了死锁及其解决方案,并讨论了存储过程和触发器的作用。此外,还分享了SQL优化技巧,如避免全表扫描、使用索引和PreparedStatement等。
摘要由CSDN通过智能技术生成

Mysql重点部分汇总

 

什么是Mysql

MySQL是一个关系型数据库管理系统,在Java企业级开发中非常常用,因为 MySQL 是开源免费的,并且方便扩展。

关系型数据库(Relational Database,RDBMS)是一种基于关系模型的数据库,使用表结构来存储和组织数据。关系型数据库的特点包括:

  1. 结构化:数据以表格形式存储,每个表格可以包含多个行和列,表格之间的数据可以通过键和约束进行关联。
  2. 易于维护:关系型数据库有严格的完整性和约束规则,可以确保数据的一致性和可靠性。
  3. 查询方便:关系型数据库支持 SQL 语言,可以进行复杂的查询和操作数据。
  4. 数据冗余:为了保持数据的关联性,通常需要存储重复的数据

非关系型数据库(Not-Only-SQL,NoSQL)是一种分布式、非关系型的数据库,通常采用键值对、文档、图形等结构存储数据。非关系型数据库的特点包括:

  1. 分布式:非关系型数据库可以分布在多个节点上,能够更好地应对大规模数据处理和高并发访问。
  2. 灵活性:非关系型数据库没有固定的结构,可以轻松应对数据结构的变化和扩展。
  3. 性能:非关系型数据库通常具有更好的读写性能,尤其是在处理大量数据和高并发请求时。
  4. 可扩展性:非关系型数据库可以通过增加节点或调整配置来扩展存储容量和性能。

两者的异同点如下:

  1. 数据结构:关系型数据库以表格形式存储数据,非关系型数据库采用键值对、文档或图形等结构。
  2. 数据一致性:关系型数据库通常具有较高的数据一致性和可靠性,而非关系型数据库通常采用最终一致性模型。
  3. 查询语言:关系型数据库使用 SQL 语言进行查询和操作数据,非关系型数据库通常使用特定领域的查询语言或 API。
  4. 数据操作:关系型数据库支持丰富的数据操作,如事务处理、联合、排序、聚合等,非关系型数据库通常支持基本的读写操作和聚合查询。
  5. 扩展性:非关系型数据库通常更容易扩展,可以通过增加节点或调整配置来提高性能和容量,而关系型数据库通常需要更复杂的设计和架构来满足扩展需求。
  6. 数据冗余:关系型数据库通常需要存储重复的数据以维护数据的关联性,而非关系型数据库通常没有这种需求。
  7. 可靠性:关系型数据库通常具有较高的可靠性,因为它们具有严格的完整性和约束规则,而非关系型数据库可能没有这些规则的限制。

在选择使用哪种类型的数据库时,需要考虑应用场景、数据规模、数据一致性、可靠性等因素。

Mysql数据类型

分类 类型名称 说明
整数类型 tinyInt 很小的整数(8位二进制)
整数类型 smallint 小的整数(16位二进制)
整数类型 mediumint 中等大小的整数(24位二进制)
整数类型 int(integer) 普通大小的整数(32位二进制)
小数类型 float 单精度浮点数
小数类型 double 双精度浮点数
小数类型 decimal(m,d) 压缩严格的定点数
日期类型 year YYYY 1901~2155
日期类型 time HH:MM:SS -838:59:59~838:59:59
日期类型 date YYYY-MM-DD 1000-01-01~9999-12-3
日期类型 datetime YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00~ 9999-12-31 23:59:59
日期类型 timestamp YYYY-MM-DD HH:MM:SS 19700101 00:00:01 UTC~2038-01-19 03:14:07UTC
文本、二进制类型 CHAR(M) M为0~255之间的整数
文本、二进制类型 VARCHAR(M) M为0~65535之间的整数
文本、二进制类型 TINYBLOB 允许长度0~255字节
文本、二进制类型 BLOB 允许长度0~65535字节
文本、二进制类型 MEDIUMBLOB 允许长度0~167772150字节
文本、二进制类型 LONGBLOB
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值