摘要:1. 首先说一下:行锁 和 表锁 主要是针对锁粒度划分的。 一般分为:行锁、表锁、库锁 (1)行锁:访问数据库的时候,锁定整个行数据,防止并发错误。 (2)表锁:访问数据库的时候,锁定整个表数据,防止并发错误。 行锁 和 表锁 的区别: 表锁: 开销小,加锁快;不会出现死锁;锁定力度大,发生锁冲突概
阅读全文
摘要:1. 幻读 幻读(Phantom Read)又称为虚读,是指在一个事务内两次查询中数据条数不一致,幻读和不重复读有些类型,同样是在两次查询过程中,不同的是,幻读是由于其他事务做了插入记录的操作,导致记录数有所增加。 例如:银行在做统计报表时统计account表中所有用户的总金额时候,此时总共有三个账
阅读全文
摘要:1. 不可重复读 所谓的不可重复读(Non-Repeatable Read)是指事务中两次查询的结果不一致,原因是在查询的过程中其他事务做了更新的操作。 例如,银行在做统计报表的时候,第一次查询a账户有1000元,第二次查询a账户有900元,原因是统计期间a账户取出了100元,这样导致多次统计报表的
阅读全文
摘要:1. 事务的隔离级别引入: 数据库是多线程并发访问的,所以很容易出现多个线程同时开启事务的情况,这样的就会出现脏读、重复读以及幻读的情况。在数据库操作中,为了有效保证并发读取数据的正确性,需要为事务设置隔离级别。在MySQL中,事务有4种隔离级别,如下: (1)Read Uncommitted Re
阅读全文
摘要:1. 脏读 所谓的脏读就是指一个事务读取了另一个事务未提取的数据。 试想一下:a账户要给b账户100元购买商品,如果a账户开启一个事务,执行下面的update语句做了如下转账的工作: 如果a账户先不提交事务,通知b账户来查询,由于b的隔离级别比较低,此时就会读取a事务中未提交的数据,发现a确实给自己
阅读全文
摘要:1. 在操作事务的时候,如果发现当前事务操作是不合理的,此时只要还没有提交事务,就可以通过回滚取消当前事务,接下来就针对事务的回滚进行详细讲解。 2. 为了演示回滚操作,在上一个笔记案例基础之上,此时a账户有1000元,b账户也有1000元,开启一个事务,通过update语句将a账户的100元转给b
阅读全文
摘要:1. 现实生活中,许多操作都是需要用户确认的,例如用户删除一个文档,删除时候会弹出一个提示对话框,包含"确认"和"取消"。同样的道理,在数据库中有些命令在使用的时候需要被确认的,例如事务中的操作就需要用户的确认,当用户确认提交了,事务操作才能被执行,这个过程就是手动提交的过程。 接下来我们针对事务提
阅读全文
摘要:1. 事务概念引入: 现实生活中,我们往往经常会进行转账操作,转账操作可以分为两部分来完成,转入和转出。只有这两部分都完成了才可以认为是转账成功。在数据库中,这个过程是使用两条语句来完成的,如果其中任意一条语句出现了异常没有执行,则会导致两个账号的金额不同步,造成错误。 为了防止上面可能出现的情况,
阅读全文
摘要:SQL语句大全一、创建和删除数据库 1、创建用户 //创建用户且置密码,在MySQL中行,但在Oracle中行 ----必须在超级管理员身份下操作 create user hncu identified by '1234' 2、创建数据库 //创建数据库 并手动指定编码格式//错,因为根据手册的查询
阅读全文
摘要:1. Select- subquery子查询子查询:是将一条查询语句嵌套在另一条查询语句之中。2. 案例 需求:查询获得代课天数最多的那个老师的信息。思路:先获得最多的代课天数是多少天,然后再判断哪个老师的代课天数和最大值是一样的。MySQL允许将上面的查询结果,作为一个值来使用。即:var1 =...
阅读全文
摘要:1. 需求:获得0115班所有的代课教师代课天数,结果按照升序排序;同时获得0228班,结果按照降序排序。(1)首先查询原来的0115班和0228班所有代课天数,如下:(2)使用union关键字,如下:(3)修改韩信在php0115班的记录都是days =15,如下:(4)此时我们再去使用union...
阅读全文
摘要:1. Select-union(联合查询)union用于把来自许多SELECT语句的结果组合到一个结果集合中。用法:SELECT ...UNION [ALL | DISTINCT]SELECT ...[UNION [ALL | DISTINCT]SELECT ...]2. 引入Select-unio...
阅读全文
摘要:1. 查询所有记录 和 查询 非重复记录语法:SELECT [ALL | DISTINCT ]All:返回所有记录Distinct:返回非重复记录针对获得的记录内的字段生效。2. 案例:(1)看下面图,我们发现查询到是很多重复的,如下:(2)使用Select—distinct,如下:(3)sele...
阅读全文
摘要:1. limit限制获得记录的数量2.limit 语法:(1) limit offset, row_count;offset偏移量,从0开始。row_count总记录数。分析:案例演示:(2)limit row_count;(3)如果row_count总记录数,如果数量大于余下的记录数,则获取所有余...
阅读全文
摘要:1. 按照字段值进行排序:语法: order by 字段 升序|降序(asc|desc)允许多字段排序,指的是,先按照第一个字段排序,如果说,不能区分,才使用第二个字段,以此类推。2.演示:(1)首先我们获取我们待排序显示的表格teacher_class,输入命令为:select * from ...
阅读全文
摘要:mysql有时候忘记密码了怎么办?我给出案例和说明!一下就解决了! Windows下的实际操作如下 :1. 关闭正在运行的MySQL。2. 打开DOS窗口,转到mysql\bin目录。3.输入mysqld --skip-grant-tables回车。如果没有出现提示信息,那就对了。如下图:4. 再...
阅读全文
摘要:1.存储引擎是什么? MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。例如,如果你在研究大量的临时数据,你也...
阅读全文
摘要:1.实体 数据库管理系统中的各种用于数据管理方便而设定的各种数据管理对象,如:数据库表、视图、存储过程等都是数据库实体。广义上讲,这些对象中所存储的数据也是数据库实体。因为它们也是确切存在着的实体。2.实体关系(表设计)(1)1对1的关系:两个实体表内,存在相同的主键字段;如果记录的主键值等于另...
阅读全文
摘要:1.首先我们看一下这个图: 1、NULL| not NULL是否为空 规定一个字段的值是否为NULL 2、Default value 字段默认值属性 常见的是一个字段不能为空,而且存在默认值 create table php2(a int not null default 10,b int not
阅读全文
摘要:1.日期和时间类型2.varchar和char固定长度 (char) 或可变长度 (varchar) 字符数据类型。例如:a char(10)b varchar(10)都存入'abc'a要求10字节b要求3字节
阅读全文