mysql小记

安装后环境变量的配置

int 数值类型 不指定长度 默认长度就会是11位

表的默认字符集会跟着数据库的默认字符集来走

#引擎 myisam 支持全局索引可以用作搜索系统的 innodb 支持事务功能 也就是支持增删改查的

记录最大的主键值,然后自己加1

删除数据不会影响主键的自增

事务:是数据库操作系统中一个非常重要的概念。

事务是一个原子操作,是由一条或多条sql语句组成了一个不可分割的整体,是一个最小执行单元。要么就全部成功,要么就全部失败。有一个sql语句执行失败,整个事务都执行失败,没有中间的操作。

而事务就是在中间加一个缓冲区回滚段,开启事务时,会先将多个sql语句的dml语句执行结果保存在缓冲区中。

每一个dml语句都会自动开启事务和提交事务。

mysql默认会为每一条dml语句,自动开启事务和提交事务。

事务回滚的机制

        就是在开启事务时,就会开辟出一个缓冲区,在数据库和硬盘之间,里面保存着事务里面所有dml语句操作的结果,如果没有提交就会一直保存在缓冲区里面,当所有语句都成功执行时,才会把缓冲区里面的数据全部保存在硬盘中,对数据库中的数据造成永久性的影响。而要是有一条sql语句执行失败的话,就会将缓冲区里面的保存到结果删除掉,因为还没有保存影响到硬盘上的数据,所以就都一直还是硬盘上没有被修改的数据,也就是事务开启前的状态,这个就是事务回滚的机制。

事务四大机制

a(原子性)

表示一个事务里面的所有操作都是一个整体,不可分割的多步操作,是一个最小的执行单元。执行事务要么全部失败,要么全都成功。

c(一致性)

 

在事务提交或回滚的前后,也会使得数据库从一个一致性状态变换到另一个一致性状态,也就是在事务完成的前后,数据是保持一致的。

i(隔离性)

        就是一个事务无法查看另一个事务操作中中的数据表的状态。因为已经是被隔离开了,无法查看在操作表数据时数据所处的状态。要么另一个并发事务查看或者修改它事务之前的状态,要么就是另一个并发事务查看或修改它事务之后的状态,不会查看到正在事务操作时或者说中间状态的数据。

d(持久性)

就是数据库在完成事务操作后,数据从缓冲区保存到了硬盘中,对系统的影响是永久性的。

 

要是插入了一次报错的数据,主键已经生成了,但因为数据没有正常插入,但是主键值也受到了影响。

所以等下一次插入正确的数据,主键值会根据上一次生成的最大主键值接着下去,就会出现跳数的情况。

也可以给它设置开始的自增列

mysql java对照表

 

 

预编译就是先预编写好sql语句再出传给数据库,就可以让数据库不用再直接编译直接可以拿来运行。

preperstatement的预编译方式就是先用?占位符占住要插入参数的位置,然后就根据问好的位置逐一添加位置,但是在没添加之前的时候就对sql语句的值进行预编译,把它编译为执行函数,然后设置进去的值,首先会对它进行敏感字符的转义然后再传入?号所占的参数位置,传入的数据不参与sql的编译。

数据库的去重操作 也可以用分组来做,效率更高

对于distinct与group by的使用:
1.当对系统的性能高并且数据量大时使用group by
2.当对系统的性能不高时或者使用数据量少时两者借口
3.尽量使用group by

 url常用后缀

url=jdbc:mysql://localhost:3306/teacher?useUnicode=true&characterEncoding=utf8&useSSL=true
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值