MySQL
yuan_boss
网络安全领域知识博主
展开
-
JDBC操作事务
JDBC操作事务事务是什么?事务要遵循什么原则?这些原则如何定义?事务就是执行一系列的操作事务遵循ACID原则原则性:要么全部完成,要么都不完成一致性:总数不变隔离性:多个进程互不干扰持久性:一旦提交不可逆,提交后就持久化到数据库中了隔离性产生的问题:脏读:一个事务读取了另一个没有提交的事务不可重复读:在同一个事务内,重复读取表中的数据,表数据发生了改变虚读(幻读):在一个事务内,读取到了别人插入的数据,导致前后读出来的数据不一致代码实现1.开启事务:conn.setAutoCom原创 2021-08-09 11:08:17 · 169 阅读 · 0 评论 -
使用IDEA连接数据库
使用IDEA连接数据库连接数据库失败出现以下错误:错误主要就是mysql没有设置时区解决方案:1.确保环境变量配置好,mysql的bin目录放在path中2.Driver改为自己的版本,进入数据库后输入命令"select version();"可以查看自己的版本信息3.在IDEA中设置自己的MySQL版本,如图:4.命令行设置时区输入set global time_zone = ‘+8:00’; 注意不要漏掉后面的分号),回车,如图:8NigO0Z-1628478314638)]5.原创 2021-08-09 11:06:49 · 310 阅读 · 0 评论 -
JDBC的Prepar执行对象
PreparedStatement对象文章目录PreparedStatement对象1.新增2.删除3.更新4.查询5.防止SQL注入PreparedStatement可以防止SQL注入,效率更高!JDBC工具类db.properties文件driver = com.mysql.cj.jdbc.Driverurl = jdbc:mysql://localhost:3306/school?serverTimezone=UTCusername = rootpassword = 123456J原创 2021-08-09 11:04:33 · 213 阅读 · 0 评论 -
SQL注入
SQL注入问题sql存在漏洞,会被攻击导致数据泄露,本质:SQL会被拼接 or代码测试db.properties文件driver = com.mysql.cj.jdbc.Driverurl = jdbc:mysql://localhost:3306/school?serverTimezone=UTCusername = rootpassword = 123456JDBC工具类import java.io.InputStream;import java.sql.*;import jav原创 2021-08-08 21:39:25 · 65 阅读 · 0 评论 -
写一个工具类实现CRUD
写一个工具类实现CRUD工具类代码实现首先在src目录下创建db.propertiesdriver = com.mysql.cj.jdbc.Driverurl = jdbc:mysql://localhost:3306/school?serverTimezone=UTCusername = rootpassword = 123456import java.io.InputStream;import java.sql.*;import java.util.Properties;pub原创 2021-08-08 21:38:44 · 74 阅读 · 0 评论 -
第一个JDBC程序
第一个JDBC程序文章目录第一个JDBC程序步骤总结:JDBC对象解释步骤总结:1.加载驱动2.连接数据库DriverManager3.获得执行sql的对象statement4.获得返回的结果集5.释放连接public class JdbcFirstDemo { public static void main(String[] args) throws ClassNotFoundException, SQLException { //1.加载驱动 Cl原创 2021-08-08 21:37:57 · 84 阅读 · 0 评论 -
MySQL三大范式
三大范式第一范式(1NF)原子性:保证每列不可再分第二范式(2NF)前提:满足第一范式每张表只描述一件事情第三范式(3NF)前提:满足第一范式第三范式需要确保数据表中的每一列数据都和主键直接相关,而不能间接相关规范性和性能问题关联查询的表不得超过三张表 考虑商业化的需求和目标,数据库的性能更加重要 在规范性能的问题的时候,需要适当考虑一下规范性 故意给某些表增加一些冗余的字段(从多表查询中变为单表查询) 故意增加一些计算列(从大数据量降低为小数据量的查询:索引)原创 2021-08-08 21:37:22 · 61 阅读 · 0 评论 -
MySQL备份
MySQL备份1.直接拷贝物理文件:data文件2.在sqlyog这种可视化工具中手动导出3.使用命令行导出,如下:1.导出使用命令行导出数据 mysqldump 命令行使用--school为数据库名,student,result为表名导出一张表mysqldump -h 主机 -u 用户名 -p 密码 数据库 表名 >物理磁盘位置/文件名mysqldump -hlocalhost -uroot -p123456 school student >H:/a.sql导出多张表m原创 2021-08-08 21:36:49 · 37 阅读 · 0 评论 -
MySQL索引
索引文章目录索引索引分类基础语法**创建索引**索引原则索引在小数据量的时候用处不大,大数据量的时候区别明显索引分类在一个表中,主键索引只能有一个,唯一索引可以有多个主键索引(PRIMARY KEY) 唯一的标识,主键不可重复,只能有一个列作为主键唯一索引(UNIQUE KEY) 避免重复的列出现,唯一索引可以重复,多个列都可以标识为唯一索引常规索引(KEY/INDEX) 默认的,key/index关键字设置全文索引(FullText) 特定数据库引擎下才有,MYIS原创 2021-08-08 21:36:08 · 53 阅读 · 0 评论 -
MySQL事务执行原理
MySQL事务执行原理1.mysql执行事务的原理--事务--MySQL是默认开启事务自动提交的SET autocommit=0 --关闭自动提交SET autocommit=1 --开启自动提交(默认是开启的)--手动处理事务SET atuocommit=0 --关闭自动提交--事务开启START TRANSACTION --标记一个事务的开始,从这个之后的sql都在同一个事务内INSERT XX INSERT XX--提交:持久化(成功!)COMMIT--回滚:回到原来的样原创 2021-08-08 21:35:42 · 127 阅读 · 0 评论 -
MySQL事务
MySQL事务1.事务原则:ACID原则 原子性,一致性,隔离性,持久性原子性(Atomicity)要么成功,要么失败一致性(Consistency)事务前后的数据完整性要保持一直,(如A有800元,B有200元,两人之和必须为1000)隔离性(Isolation)事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作数据所干扰,事务直接要相互隔离持久性(Durability)事务一旦提交则不可逆,被持久化到数据库中2.隔离所导致的一些问题脏读:原创 2021-08-08 21:34:56 · 62 阅读 · 0 评论 -
12.SELECT小结
SELECT小结原创 2021-08-08 21:30:22 · 84 阅读 · 0 评论 -
数据库级别的MD5加密
数据库级别的MD5加密--测试MD5加密CREATE TABLE `testmd5`(`id` INT(4) NOT NULL AUTO_INCREMENT,`name` VARCHAR(20) NOT NULL,`pwd` VARCHAR(50) NOT NULL,PRIMARY KEY(`id`))ENGINE =INNODB DEFAULT CHARSET=utf8--明文密码INSERT INTO `testmd5`(`name`,`pwd`) VALUES('zhangsan原创 2021-08-08 21:29:33 · 210 阅读 · 0 评论