数据库基础知识汇总

1 创建mysql数据库排序参数

字符集:utf8mb4

排序规则: utf8mb4_unicode_ci

2 where group by

where 是使用在统计之前,对统计前 的记录进行过滤,
having 是用在统计之后,是对聚合之后的结果进行过滤。
也就是说 where 永远用 在 having 之前,
我们应该先对筛选的记录进行过滤,然后再对分组的记录进行过滤。

3 -union union all

UNION 和 UNION ALL 的主要 区别是 UNION ALL 是把结果集直接合并在一起,而 UNION 是将 UNION ALL 后的结果进行一次
DISTINCT 去除掉重复数据。

4 timestamp自带时区

数据库时间,timestamp自带时区,什么意思
当你数据库切换了时区后,保存的数据一会自动变化为对应的时区信息

5-三范式

字段是最小的的单元不可再分
表中的字段必须完全依赖于全部主键而非部分主键。
非主键外的所有字段必须互不依赖

6 大字段

blob二进制 text文本 都是大字段,

7 默认升序排序

数据库默认是升序

8 游标

使用游标的另一个原因是避免由于并发编辑而导致元素重复或跳过的问题,比如你使用 offset 正在第 10 页上,而有人在第 1 页上删除了一个项目,则整个列表会移动,你可能会意外跳过第 11 页上 的一行数据。同样,如果有人在第 1 页上添加了一条记录而你正在第 10 页上,第 10 页中的一项也会重复显示在第 11 页上。

9 什么是binlog

binlog是记录所有数据库表结构变更(例如CREATE、ALTER TABLE...)
以及表数据修改(INSERT、 UPDATE、DELETE...)的二进制日志。

binlog不会记录SELECT和SHOW这类操作,
因为这类操作对数据本身并没有修改,
但你可以通过查询通用日志来 查看MySQL执行过的所有语句。

上一篇:boost::geometry::index::detail::union_content用法的测试程序


下一篇:MySQL学习记录(九)--联合查询