摘要:
1 什么是多表查询 DQL: 查询多张表, 获取到需要的数据 比如: 查询家电分类下, 都有哪些商品, 那么, 我们就需要查询分类与商品这两张表 2 数据准备 1) 创建 db3_2 数据库 -- 创建 db3_2 数据库,指定编码 CREATE DATABASE db3_2 CHARACTER S 阅读全文
摘要:
设计演员与角色表 1) 分析: 演员与角色是多对多关系, 一个演员可以饰演多个角色, 一个角色同样可以被不同的演员扮演 2)图解: 3) SQL实现 <1> 创建表 #创建演员表 CREATE TABLE actor( id INT PRIMARY KEY AUTO_INCREMENT, NAME 阅读全文
摘要:
设计省&市表 1)分析: 省和市之间的关系是一对多关系,一个省包含多个市 2) 图解: 3) 实现 #创建省表 (主表,注意: 一定要添加主键约束) CREATE TABLE province( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20), 阅读全文
摘要:
<0> 多表关系概述 实际开发中,一个项目通常需要很多张表才能完成。 例如:一个商城项目就需要分类表(category)、 商品表(products)、订单表(orders)等多张表。且这些表的数据之间存在一定的关系,接下来我们一起 学习一下多表关系设计方面的知识 表与表之间的三种关系 一对多关系: 阅读全文
摘要:
级联删除操作(了解) 如果想实现删除主表数据的同时,也删除掉从表数据,可以使用级联删除操作 级联删除 ON DELETE CASCADE 代码示例: 删除 employee表,重新创建,添加级联删除 -- 重新创建添加级联操作 CREATE TABLE employee( eid INT PRIMA 阅读全文
摘要:
1 什么是外键 外键指的是在从表中,与主表的主键对应的那个字段 比如员工表的 dept_id,就是外键 使用外键约束可以让两张表之间产生一个对应关系,从而保证主从表的引用的完整性 多表关系中的主表和从表 主表: 主键id所在的表, 约束别人的表 从表: 外键所在的表, 被约束的表 2 创建外键约束 阅读全文
摘要:
1. 多表简述 实际开发中,一个项目通常需要很多张表才能完成。 例如一个商城项目的数据库,需要有很多张表:用户表、分类表、商品表、订单表.... 2. 单表的缺点 数据准备 1) 创建一个数据库 db3 CREATE DATABASE db3 CHARACTER SET utf8; 2) 数据库中 阅读全文
摘要:
幻读: select 某记录是否存在,不存在,准备插入此记录,但执行 insert 时发现此记录已存在,无法插入,此时就发生了幻读。 幻读演示 1. 打开 A B 窗口, 选择数据库 开启事务 2. A 窗口 先执行一次查询操作 -- 假设要再添加一条id为3的 数据,在添加之前先判断是否存在 se 阅读全文
摘要:
将全局的隔离级别进行提升为: repeatable read 1. 恢复数据 UPDATE account SET money = 1000 2. 打开A 窗口, 设置隔离级别为:repeatable read -- 查看事务隔离级别 select @@tx_isolation; -- 设置事务隔离 阅读全文
摘要:
不可重复读: 同一个事务中,进行查询操作,但是每次读取的数据内容是不一样的 1. 恢复数据 (把数据改回初始状态) 2. 打开两个 窗口A 和 窗口B,选择数据库后 开启事务 use db2; start transaction; 3. B 窗口开启事务后, 先进行一次数据查询 select * f 阅读全文
摘要:
脏读非常危险,比如张三向李四购买商品,张三开启事务,向李四账号转入 500 块,然后打电 话给李四说钱 已经转了。李四一查询钱到账了,发货给张三。张三收到货后回滚事务,李四的再 查看钱没了。 解决方案 将全局的隔离级别进行提升为: read committed 1. 在 A 窗口设置全局的隔离级别为 阅读全文