java基础复习笔记——mysql数据库的使用和sql优化

本文就数据库的简单安装和使用做一些相应的总结,同时总结了sql优化的一些方法,希望对大家有所帮助。本文就分为3个部分,分别是mysql安装,mysql常见操作以及sql优化的一些方法

1、mysql数据库的安装

1.1 mysql初次安装

说到关系库数据,我们最常用的数据库就是mysql数据库,无论是个人开发还是公司开发,mysql都有着用武之地。因此,掌握mysql的使用至关重要,本文就简单来总结下mysql的基本安装过程和常见安装和使用中可能会遇到的一些问题

mysql下载安装

mysql的下载网址如下:MySQL :: Download MySQL Installer (Archived Versions)

我们可以根据我们自己的需要选择安装的版本。 

需要注意的是安装时会让你注册账号,可以不需要,直接点thanks跳过即可

安装可参考这篇文章:mysql数据库安装教程 (zhihu.com)

基本的操作也是跟着安装提示一步步next,其中要注意的就是辅助工具的选择,一般全部选择以后选Server only(只安装mysql)即可,安装好后设置密码时记得做个备份保存,不然后边登录进入数据库记不清密码会比较麻烦。

1.2 、mysql卸载重装

mysql卸载安装初接触的人不太需要,但对于以及安装过mysql但部分文件失效而无法启用mysql数据库的人则是基本操作,网上的操作的教程也很多,总结下来主要有以下几步:(1)停止mysql服务 (2)卸载mysql  (3) 删除配置文件 (4)清空回收站 (5)重启检查

(1)停止mysql服务

可以使用管理员身份运行cmd,同时使用net stop mysql关闭mysql服务,也可以通过我的的电脑—管理—服务进行手动关闭:

(2)卸载mysql 

在控制面板中找到程序——卸载程序,再找到要卸载的程序进行卸载即可,

 (3) 删除配置文件

大家可以先去这几个位置查看是否有MySQL文件夹
(1)C:\Program Files
(2)C:\Program Files (x86)
(3)C:\ProgramData (此文件夹为隐藏文件夹)

最后推荐大家去下载一个Everything,快速搜索一下是否磁盘中还存在残留的MySQL相关的文件夹,Everything的下载地址如下:下载 - voidtools

 搜索后删除即可。

(4)删除注册文件

windows+R后输入regedit进入注册表,删除注册表数据

删除HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL文件夹
删除HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL文件夹
删除HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL的文件夹
 

(5)重启检查

清空回收站后重启,重启后发现无mysql服务即卸载成功,

我们只需安装mysql安装程序在走一遍,即可安装成功。

1.3 、安装失败的常用解决方案

2、mysql使用实例总结

2.1、命令行操作使用

安装成功后,我们可以通过mysql自带的一些操作软件操作mysql,也可以通过命令行直接操作mysql。在进入mysql的bin目录下后,使用cmd命令,即可进入命令窗口;输入mysql -u +用户名 -p +密码,即可登录操作数据库

2.2、navicate连接操作数据库

使用navicate可以很方便的连接和查看数据库数据,也支持视图和筛选等功能,因此我们在开发中常常使用navicate进行mysql和其他数据库的连接。并通过navicate建库,建表,插入,查询,更改和删除数据。

navicate的下载地址如下:https://www.navicat.com.cn/download/navicat-premium

navicate的具体操作如下:

2.3 idea连接使用数据库

idea也可以通过自带的database连接数据库,并根据数据表创建实体对象,从而很大程度上节省了开发者的时间,提升了开发效率。idea连接数据库的配置如下图:

当数据库连接成功后,idea就可以通过快捷键创建实体对象了,其创建的对象遵循大小驼峰规则,能很好的满足开发者的需要。

3. sql优化策略体系

说到数据库的使用,就不得不说到SQL优化的问题,在我个人看了,SQL优化可以主要分为四个层面来说明,第一层面是获取数据的逻辑优化过程,第二层是针对索引所做的优化过程,第三层是针对数据库引擎和数据库设计所做的的优化,第四层则是在物理层面对组成计算机的基础元件所做的优化。下面我会为大家一一介绍,希望对大家有所帮助。

3,1 第一层面——数据逻辑优化

在实际使用中,我们经常使用select * 查询我们所要获取的字段,在字段少和数据量小时并无太大影响,但在字段过多和数据量较大时,这样的查询语句十分低效,我们在使用时就要尽可能使用所需字段进行查询,从而避免查询时间过长

3.2 、第二层面——数据索引优化

针对数据索引所做的优化主要在减少索引的创建和避免索引失效两方面进行考虑,如在模糊查询中尽量将%写在后边,这就是为了避免索引失效而造成的全表扫描;而在使用条件查询字段时,越靠近前的字段查询条件尽量在前面,则是为了避免创建多列索引

3.3.第三层面——数据库引擎

这个可以结合具体的业务场景来进行说明,比如在处理经常变化的数据时,我们使用MYSIM就明显要优于其他引擎。在使用少有修改的数据时,我们常使用InnoDB引擎。而在使用一些常用的热点数据时,我们则会使用redis存储相应数据

3.4 第四层面——物理硬件

这个优化的其实较为少见,更多的是在数据容量不够时进行扩容和备份。以及在技术进步时采用更为先进的元器件来组装设计。因此这一部分只做简单说明。

总结的来说,mysql的使用说复杂也复杂,说不复杂也还相对较好,我们对应mysql的使用,更多的是在实践中去学习和深入理解数据的相关知识,就比如在数据写入过多时,我们就会接触到行锁和表锁,因为时间和篇幅有限,就在下一期进行更新

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
文件上传是Web开发中常见的功能之一,Java中也提供了多种方式来实现文件上传。其中,一种常用的方式是通过Apache的commons-fileupload组件来实现文件上传。 以下是实现文件上传的步骤: 1.在pom.xml文件中添加以下依赖: ```xml <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.3</version> </dependency> ``` 2.在前端页面中添加文件上传表单: ```html <form method="post" enctype="multipart/form-data" action="upload"> <input type="file" name="file"> <input type="submit" value="Upload"> </form> ``` 3.在后台Java代码中处理上传文件: ```java // 创建一个DiskFileItemFactory对象,用于解析上传的文件 DiskFileItemFactory factory = new DiskFileItemFactory(); // 设置缓冲区大小,如果上传的文件大于缓冲区大小,则先将文件保存到临时文件中,再进行处理 factory.setSizeThreshold(1024 * 1024); // 创建一个ServletFileUpload对象,用于解析上传的文件 ServletFileUpload upload = new ServletFileUpload(factory); // 设置上传文件的大小限制,这里设置为10MB upload.setFileSizeMax(10 * 1024 * 1024); // 解析上传的文件,得到一个FileItem的List集合 List<FileItem> items = upload.parseRequest(request); // 遍历FileItem的List集合,处理上传的文件 for (FileItem item : items) { // 判断当前FileItem是否为上传的文件 if (!item.isFormField()) { // 获取上传文件的文件名 String fileName = item.getName(); // 创建一个File对象,用于保存上传的文件 File file = new File("D:/uploads/" + fileName); // 将上传的文件保存到指定的目录中 item.write(file); } } ``` 以上代码中,首先创建了一个DiskFileItemFactory对象,用于解析上传的文件。然后设置了缓冲区大小和上传文件的大小限制。接着创建一个ServletFileUpload对象,用于解析上传的文件。最后遍历FileItem的List集合,判断当前FileItem是否为上传的文件,如果是,则获取文件名,创建一个File对象,将上传的文件保存到指定的目录中。 4.文件上传完成后,可以给用户一个提示信息,例如: ```java response.getWriter().write("File uploaded successfully!"); ``` 以上就是使用Apache的commons-fileupload组件实现文件上传的步骤。需要注意的是,文件上传可能会带来安全隐患,因此在处理上传的文件时,需要进行严格的校验和过滤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值