目录
一、约束 19
1.1概念&约束 19
1.2约束案例 20
注:
1、主键的特点:非空且唯一。
2、
自动更新的增长,就是默认为数字的话,会自动的进行排序。从小到大
注:上述中第一个框内是常用的表现格式,第二个框和第三个框是不常用的。
1.3外键约束 21
让两张表之间形成一种物理关系。
1.3.1外键约束的语法 21
二、数据库设计 22
2.1数据库设计简介 22
2.2.1表关系之一对多 23
注:在多的一方建立外键,来和id进行匹配。
2.2.2表关系之多对多 23
解决方案:
创建一个中间表,在中间表中创建两个外键,分别对应外面的两个主键。 中间表中的id表示是逻辑顺序和实际没有关系。
三、多表查询 25
注:笛卡尔积其实是将所有集合中的内容进行汇总。
3.1内连接 26
内连接分为隐式内连接和显式内链接,两者最终的结果是相同的。不同在于,隐式内连接需要直接添加上表格名称。显式内连接是能够看到两者链接的谁到谁。
隐式内连接:
显式内连接:
3.3子查询 27
注:使用下面的指令使得将两条指令变成一条指令进行执行。
指令里面嵌套一个子语句。
子查询语法:
注:
虚拟表:是通过指令进行满足特定条件下的表格后,对刷选出来的数据再次进行一次筛选满足某个条件的指令操作。
四、多表查询案例 28
五、事务 29
回滚事务:撤销事务。
同时成功、同时失败:通过将其进行打包成下面的三步操作即可。
注:
1、三个步骤的第一步,BEGIN:表示开启事务,其作用表示该语句之后的内容都是临时的性的操作,直到提交事务完成才算结束。
2、在开启事务BEGIN之后的内容中,如果有报错,则使用回滚事务ROLLBACK进行。这样的话就会终止本次事务的进行,数据都恢复正常。
3、提交事务,表示完成本次事务commit,这样的话事务就会完成,数据就永久性的更改。
事务的四大特征(面试题常问问题)
注:
1、原子性:表示看作一个整体
2、 一致性:事务无论成功或者失败,其数据的总额在事务成功或者失败的前后不能发生改变,保持其一致性。例如:银行两人转账,A:1000 B:1000 A转给B500 ,无论最后转账成功还是失败,两人的总金额数据不能发生改变。
3、 隔离性:隔离性越强,事务之间的操作的可见性越低。隔离性越弱,那么性能越高,可见性越好。
4、持久性:提交事务和回滚事务,对数据的修改是永久性的。
注:
1、oral数据库是手动提交的。
2、自动提交的话,数据会进行改变,从其他的窗口进行查看也可以进行看到数据的改变。
3、手动提交的话,就是需要在本窗口进行修改数据后,需要设置手动提交一下否则数据只能在本窗口下显示进行改变,在其他的窗口下进行查询会发现数据没有发生改变。