Java知识总结--Mysql篇

本文深入探讨了Java与MySQL数据库的结合使用,涵盖了数据库分类、MySQL事务的四大特性、数据库连接池的作用、JDBC调用存储过程、索引原理与优化、以及数据库分表策略。内容包括关系数据库的三范式、MyISAM与InnoDB引擎对比、分页查询与索引的优缺点等,旨在提升数据库管理和应用效率。
摘要由CSDN通过智能技术生成

Mysql


目录

Mysql

1.1-数据库的分类以及常用的数据库

1.2-关系数据库的三范式

1.3-事务的四个基本特征

1.4-Mysql数据库的最大连接数

1.5-对jdbc的理解

1.6-jdbc怎么调用存过程

1.7-jdbc的PreparedStatement相比Statement的好处

1.8-数据库连接池的作用

1.9-数据库优化手段

1.10-查找并定位慢查询

1.11-数据库分表

1.12-Mysql事务的隔离级别

1.13-什么是脏读?什么是幻读?

1.14-选择合适的数据库存储引擎

1.15-MyISAM和innodb的区别

1.15-Innodb有哪些特性

1.16-为什么要分页,Mysql分页怎么使用?

1.17-什么是索引

1.18-索引的优缺点

1.19-索引的四种类型

1.20-索引的基本原理

1.21-索引算法

1.22-索引设计的原则

1.23-数据库要优化的原因

1.24-垂直分表的优缺点

1.25-水平分表的优缺点


1.1-数据库的分类以及常用的数据库

分为:关系型数据库和非关系型数据库

  • 关系型数据库:Mysql,oracle,sqlserver
  • 非关系型数据库:redis,memcache,mogodb,hadoop

1.2-关系数据库的三范式

范式:范式就是规范,关系型数据库在设计表时,要遵循的三个规范。要想满足第二范式必须先满足第一范式,要满足第三范式必须先满足第二范式

  • 第一范式:是指数据库的每一列都是不可分割的基本数据项,同一列中不能有多个值,也就是实体类中的某个属性不能有多个值或者不能有重复的属性,列数据不可分割

  • 第二范数:要求数据库中每个实例或行必须可以被唯一区分的,数据库中所有非主键字段完全依赖主键,不能产生部分依赖,以存储各个实例的唯一标识(主键)

  • 第三范式:要求一个数据库表中不包含其他表中已经包含的非关键字信息(外键)


1.3-事务的四个基本特征

事务:是一个并发控制的单位,比如是用户定义的一个操作序列,这些操作要么都做,要么都不做,是一个不可分割的工作单位

事务必须满足四大特征:

  1. 原子性:表示操作事务内操作不可分割,要们都成功,要们都失败

  2. 一致性:要么成功,要们失败,失败了要对前面的操作进行回滚

  3. 隔离性:一个事务开始后,不能背其他的事务干扰

  4. 持久性/持续性:表示事务开始了,就不能终止


1.4-Mysql数据库的最大连接数

特定服务器上面的数据库只能支持一定数目同时连接,这时我们一般都会设置最大连接数(最多同时服务多少连接),在数据库安装时都会有一个默认的最大连接数。

最大连接数为100

 


1.5-对jdbc的理解

Java只定义接口,让数据库厂商自己实现接口,对于开发而言,只需要导入对应厂商开发的实现即可,然后以接口实现即可,然后进行调用(mysql+mysql驱动(实现)+jdbc)


1.6-jdbc怎么调用存过程

  1.  加载 jdbc 驱动程序
  2. DriverManager.getConnection获取连接
  3. 创建一个Statement
  4. 执行SQL语句
  5. 处理执行完SQL之后的结果
  6. 释放连接

		
public static void test() throws ClassNotFoundException, SQLException{
        String driver = "com.mysql.cj.jdbc.Driver";
		String url = "jdbc:mysql://127.0.0.1:3306/ssmidea?serverTimezone=UTC
		String user = "root";
		String password = "root";
        //1.注册驱动
		Class.forName(driver);	
		//2.建立连接
		Connection conn=DriverManager.getConnection(url,user,password);
		//3.创建语句执行对象
		Statement st=conn.createStatement();//创建Statement
		//4.执行语句
		ResultSet rs=st.executeQuery("select * from user");
		//5.处理结果
		while(rs.next()){
			        System.out.print(rs.getObject(1)+"\t"+rs.getObject(2)+"\t"+rs.getObject(3)+"\t");
		}
		//6.释放资源,资源rs、st、conn的释放顺序与创建顺序相反
		rs.close();
		st.close();
		conn.close();
	}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值