1、union与union all的区别
union:将上下两个查询的结果上下拼接,并进行去重
union all:将上下两个查询的结果上下拼接,不进行去重
2、delete和truncate 的区别
(1)delete和truncate两者都可以用来删除数据
(2)delete删除数据后,再次插入数据索引会接着之前的,如果之前的表有自增主键的话,delete数据之后,键值会接着之前的,而truncate 会从头开始,truncate原理是将表结构及数据全部删除,然后再重新建表,创建表结构。
(3)效率上,truncate比 delete 效率更高
(4)truncate删除后不记录mysql日志,不可以恢复数据,而delete数据在删除数据后会将删除操作作为事务存储在日志中,这样可以进行日志回滚,而truncate则不可以进行事务回滚。