mysql多表和备份
- 1.数据库自动备份怎么做?
- 2.这个关系图咋整出来的
- 3.一次添加多个数据,省略字段名的时候,要写全,主键写为null。
- 4.数据库中为什么不推荐使用外键约束?
- 5.添加外键时,如果不设置外键名,则无法删除外键。
- 6.一对一建表原则:
- 7.表关系一对一应用场景:
- 8.varchar类型不可以实现自动增长,试一下doblue类型可以实现自动增长吗?
- 9.交叉查询(工作中不用):会有错误的数据。
- 10.datagrip就是对sqlyog的封装。
- 11.左连接,要用从表的列来统计。
- 12.数据库中多表连接的左连接、右连接、内连接、全连接的使用场景
- 13.写sql语句的思路。
- 14.菜单单表生成菜单树 (自连接,自己关联自己,看成两张表)
- 15.增删改:事务
- 16.事务的原理:
- 17.shell脚本实现数据库备份
- 18.用IntelliJ IDEA自带的代码对比
1.数据库自动备份怎么做?
Mysql数据库自动备份方案实现_mamengna的博客-CSDN博客_mysql 自动备份方案
2.这个关系图咋整出来的
选表,右键图,显示虚拟化。
3.一次添加多个数据,省略字段名的时候,要写全,主键写为null。
4.数据库中为什么不推荐使用外键约束?
【强制】不得使用外键与级联,一切外键概念必须在应用层解决。
数据库中为什么不推荐使用外键约束_卡梅丽多的博客-CSDN博客_数据库为什么不设置外键
5.添加外键时,如果不设置外键名,则无法删除外键。
6.一对一建表原则:
外键唯一:主表的主键和从表的外键(唯一),形成主外键关系,外键唯一unique。
7.表关系一对一应用场景:
应用场景:比如,一个用户表和用户信息表,在实际网站中,可能需要保存用户的许多信息,但是有些信息是不经常使用的。如果能够把所有的信息都存放到一张表中可能会影响查询效率,因此可以把用户的一些不常用的信息存放到另外 一张表中,我们称之为UserExtension。但是用户表User和用户信息表UserExtension就是一对一的关系。
原文链接:https://blog.csdn.net/zjy123078_zjy/article/details/104075492
8.varchar类型不可以实现自动增长,试一下doblue类型可以实现自动增长吗?
dobule也不可以实现自增,只有Int类型可以实现自增。
9.交叉查询(工作中不用):会有错误的数据。
笛卡尔积没有意义,尽量避免。
//看一下交叉查询。
10.datagrip就是对sqlyog的封装。
11.左连接,要用从表的列来统计。
如果用主表的列统计的话,可能会出现错误:会统计null行
12.数据库中多表连接的左连接、右连接、内连接、全连接的使用场景
数据库中多表连接的左连接、右连接、内连接、全连接的使用场景_kejizhentan的博客-CSDN博客_左连接使用场景
13.写sql语句的思路。
1)确定查询的字段需要查询几张表,
2)确定表之间的连接条件,(左连接:想显示左表的全部数据;右连接:想显示右表的全部数据;内连接:没要求)
3)确定最终要查询的字段
4)业务逻辑信息
1. 确定有几张表参与查询
2. 确定表间连接条件(个数=表个数-1)
3. 确定显示哪些字段
4. 确定业务条件 where
14.菜单单表生成菜单树 (自连接,自己关联自己,看成两张表)
从mysql查询菜单表用java生成菜单树_Amy_Queen的博客-CSDN博客
15.增删改:事务
- begin 开启事务
- commit 提交事务
- rollback 回滚事务
MySQL默认开启自动提交事务,意思是MySQL的每一条DML(增删改)语句都是一个单独的事务,每条语句都会自动开启一个事务,执行完毕自动提交事务。
16.事务的原理:
数据库的增删改:是在缓存中对表数据进行操作
1)begin(开始事务),把表通过io加载到缓存中,
2)在缓存中进行:增删改
3)commit(提交):缓存同步到表中,缓存清空。
4)rollback(回滚):缓存直接被清空。
17.shell脚本实现数据库备份
定时任务,凌晨备份,一般保存三个月,三个月没用的话就删除。
18.用IntelliJ IDEA自带的代码对比
(1)对比和剪贴板
直接将需要对比的文件复制到剪贴板(Ctrl+C)上,直接在idea中右击Compare with Clipboard即可显示差异。
(2)对比和文件
1、首先,选中要比对的文件右键选择Compare With.
2、选择本地需要带比对的文件,双击即可。
3、显示出对比的文件。
https://blog.csdn.net/qq_37143903/article/details/106628862