![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL
ali48
望诸君不吝赐教!!!
展开
-
MySQL 事务处理
事务 事务是一系列操作,将它们综合为一个整体,这些操作必须全部完成,如果有一个操作失败,那么事务就回滚到最开始的状态,仿佛什么都没发生过一样。ACID 原则原子性: 一组事务,要么都成功,要么都失败。一致性: 事务前后的数据完整性要保持一致。比如转账业务,无论事务执行是否成功,参与转账的两个账号总额是不变的。隔离性: 多个并发事务之间要相互隔离,不能被其他事务的操作数据所干扰。持久性: 事务一旦提交则不可逆,被持久化到数据库中。隔离性导致的问题脏读: 指一个事务读取原创 2021-12-10 16:15:22 · 589 阅读 · 0 评论 -
PreparedStatement 防止 SQL 注入原理
前言 PreparedStatement 对象可以防止 SQL 注入,而 Statement 对象不能防止 SQL 注入,接下来使用一个案例剖析原理。原理使用如下代码模拟 SQL 注入总结 由最终执行的 SQL 可以看出,PreparedStatement 防止 SQL 注入的原理就是把用户非法输入的单引号进行转义,最终传入参数作为一个整体执行,从而防止 SQL 注入,而 Statement 对象不会进行此操作。 PreparedStatement 可以有效防止 SQL 注入,你原创 2021-12-10 15:11:06 · 2599 阅读 · 0 评论 -
浅析 PreparedStatement 和 Statement
Statement1.创建方法Statement statement = conn.createStatement();2.执行方法// 执行查询操作 -> selectString sql = "select `name` from users where `id`=1";// 示例statement.executeQuery(sql);// 执行更新操作 -> insert、update、delete...String sql = "delete from users wh原创 2021-12-10 19:00:00 · 481 阅读 · 0 评论 -
封装 JDBC 工具类
JDBC 封装 使用 JDBC 连接 MySQL 数据库,我们每次操作都要写一堆连接数据库的信息,操作完还要释放一堆资源,做了很多重复的工作,于是我们通常把数据库连接封装成工具类。JdbcUtils 类import java.io.FileInputStream;import java.io.IOException;import java.util.Properties;import java.sql.*;/** * @author Acx7 */public class JdbcU原创 2021-12-10 12:27:53 · 255 阅读 · 0 评论 -
使用 JDBC 连接 MySQL 数据库
1.Java 连接 MySQL 需要驱动包 MySQL 对应驱动支持版本如下,可进入 http://dev.mysql.com/downloads/connector/j/ 下载合适版本后在项目中导入 jar 包。驱动版本JDBC 版本MySQL 版本JDK 版本5.13.0、4.0、4.1、4.25.6、5.7、8.0JDK 5.0 和 JDK 8.0 或更高版本8.04.25.6、5.7、8.0JDK 8.0 或更高版本2.加载驱动// MySQL原创 2021-12-10 00:35:43 · 892 阅读 · 0 评论 -
MySQL 中 localhost 与 127.0.0.1 不为人知的秘密
前言 大家在使用 MySQL 的过程中,可能都有一个疑问:127.0.0.1 和 localhost 是一样的吗?可能有人会说是一样的,但是实际使用中就会出现使用 localhost 连接不上,换成 127.0.0.1 就正常连接了。这说明两者是不同的,我们来看看有什么区别吧。区别在使用 127.0.0.1 连接的时候,使用 TCP/IP 连接。在使用 localhost 连接的时候,使用 Unix Domain Socket 连接。Unix Domain Socket Unix Dom原创 2021-10-29 23:34:15 · 2774 阅读 · 0 评论 -
到底用不用数据库级别外键?
阿里巴巴 Java 规范【强制】不得使用外键与级联,一切外键概念必须在应用层解决。数据库级别外键 大家学习数据库的时候都学习过外键,使用外键有很多优点,最主要的优点就是:保证数据的完整性和一致性。将数据完整性判断交给数据库完成,减少程序的代码量,减少程序员工作量。 使用外键可以减少程序员工作量,真是个好东西,但是现实却总是事与愿违。外键确实可以保证数据的完整性和一致性,但却伴随着一系列系统缺陷。权衡后,我们选择一般不使用数据库级别外键,除非你的 leader 要求使用。缺陷使用原创 2021-10-27 17:04:45 · 409 阅读 · 0 评论 -
MySQL 中 MyISAM vs. InnoDB
前言MyISAM 是 MySQL 的默认数据库引擎(5.5 版本之前),由早期的 ISAM 改良而来,虽然性能极佳,但却有一个致命缺点:不支持事务处理(transaction),后来 MySQL 导入 InnoDB 以强化参照完整性与并发违规处理机制,后来就逐渐取代 MyISAM 成为 MySQL 的默认数据库引擎,现在最新版本的 MyISAM 也支持事务处理。InnoDB 与 MyISAM 的对比MyISAMInnoDB事务不支持支持锁的粒度表锁定行锁定外键原创 2021-10-22 15:18:53 · 96 阅读 · 0 评论 -
最讨厌的乱码之 MySQL 乱码
乱码原因MySQL 的默认编码是Latin1,不支持中文(中文乱码),所以需要修改字符集编码。解决办法1.在创建表时设置默认字符集为utf8DEFAULT CHARSET=utf8eg:2.在配置文件my.ini中设置默认字符集编码为utf8character-set-server=utf8default-character-set=utf8在5.1版本时,为了解决中文乱码问题设置默认字符集为utf8时,在my.ini内的 [mysql] 和 [mysqld] 项中都是写:de原创 2021-10-20 13:25:26 · 165 阅读 · 0 评论 -
MySQL 5.7 下载安装一步到位
前言MySQL 已经更新到了 MySQL 8.0 版本,但企业目前使用最多的是 MySQL 5.7 版本,因为其相较于最新版更为稳定,所以我们选择安装 MySQL 5.7 版本。本教程使用压缩包安装,不使用 exe 文件安装,因为使用 exe 文件安装涉及注册表,卸载非常麻烦(不信可以百度一下 MySQL 卸载)。下载步骤1.访问官方网站:https://www.mysql.com/在最底部访问 MySQL Community Server。2.进入 Archives。3.选择要下载的 My原创 2021-10-19 18:02:19 · 4736 阅读 · 2 评论 -
常用 MySQL 数据类型
数值类型类型大小用途tinyint1个字节很小的数值smallint2个字节较小的数值mediumint3个字节中等大小的数值int4个字节标准整数数值(常用)bigint8个字节较大的数值float4个字节单精度浮点数double8个字节双精度浮点数(常用)decimal对decimal(M, D) ,如果M > D,为M + 2否则为D + 2)字符串形式浮点数(银行业务、金融计算等,解决浮点数误差)原创 2021-10-19 14:58:35 · 83 阅读 · 0 评论