Java二十五篇: 数据库



评估事务中发生并发异常的可能性比较低 但又不完全保证不会发生 使用乐观锁
乐观锁是通过SQL本身的语法去进行校验
-- 在修改之前查询一下数据 在修改的同时回去判断这个值和刚才查询到的数据是否一致 如果一致则继续执行更新 否则不更新

SELECT MONEY FROM USERS WHERE ID = 1;
UPDATE USERS SET MONEY = 500 WHERE ID = 1 AND MONTY = 前面语句查出来的值;
合成一句
UPDATE `Users` SET money = 500
WHERE id = 1
AND `Users`.money = (SELECT m1 FROM (SELECT money AS m1 FROM `Users` WHERE id = 1 ) AS t1);
Every derived table must have its own alias 给虚拟表命名

总结:

  • 1、对数据库要有一定的认知:关系型数据库和非关系型数据库

  • 2、数据库的四大类型语言要有一定的了解

    1DDL(Data Definition Language)数据定义语言

用来定义数据库对象:数据库 表 列 Create

2DML(Data Manipulation Language)数据操作语言

对于数据的增删改  insert delete update

3DQL(Data Query Language)数据操作语言

对于数据的查询 select

4DCL(Data Control Language)数据控制语言

定义数据库访问权限 定义新的用户及权限 密码等等

Grant

  • 3、在设计数据库的时候要应用:约束和范式,考虑表与表之间的关系,是一对一、一对多、多对多

    怎么加索引才合适、外键等,先有一定的设计才去建表创建属性

  • 4、在数据库的层面要对事务一定的认知和理解

    要知道什么是事务隔离级别、什么是脏读、不可重复读、幻读和串行化,这也是面试常常被问到的。

  • 5、对数据库的锁要有自己的理解:悲观锁、乐观锁

    事务中的业务大概率会出现并发异常时 我们处于一种悲观状态 可以使用悲观锁

    评估事务中发生并发异常的可能性比较低 但又不完全保证不会发生 使用乐观锁


Java二十五篇: 数据库



本篇文章来源于微信公众号: 小刘Java之路

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/11155.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!