一、 二进制移位运算
- 负数的二进制数 : 负数的绝对值取反再加1;
- << : 有符号左移 低位补0;
- >> :有符号右移 负数:高位补1 ;正数 :高位补0
- >>> : 无符号右移 高位补0
二、数据库的分类
- 关系型数据库 mysql、sqlserver、oracle
- 非关系型数据库 redis
三、数据库的三范式
- 1NF:(第一范式):字段具有原子性,不可再分,所有关系数据库系统都满足第一范式。数据库表中的字段都是单一属性,不可再分。例如,姓名字段,其中的姓和名必须作为一个整体,无法区分哪部分是名,如果确实要区分姓和名,必须设计成两个独立的字段。
- 2NF:(第二范式):建立在第1范式的基础上,要求数据库表中每个实例或行必须可以被唯一的区分。
- 3NF(第三范式):要求一个数据库表中不包含已在其他表中包含的非主键信息。
四、数据库优化方面的经验
- 给关键字建立索引
- 使用存储过程,使SQL变得更加灵活和高效
- 备份数据库,清理垃圾数据
- SQL语句语法的优化 select .. from.. limit 1 //只取一条数据
- 建立缓存(redis、memcache)
五、union和union all的不同
- union all:对重复的数据不去重,取俩个结果集的并集
- union:对重复的数据去重,把俩个结果集合在一起显示出来
- minus : 第一个结果集除去第二个结果集和它相同的部分
- intersect : 求俩个结果集的交集
(注意:前提条件 俩个结果集中查询的列要完全一致)
select *from emp
union all
select *from emp; //连接 不去重
六、mysql 与oracle如何分页
- mysql分页: 通过limit关键字 limit 0,10; //0起始标 10 数据量
- oracle:通过 rownum 伪类进行 where rownum<=5
七、数据库语言思维导图
八、三个名词
- sql:结构化的查询语句,操作oracle数据库的语言。
- sqlplus:oracle软件自带的可以输入sql,且将sql执行结果显示的终端。
- pl/sql:程序化的sql语句,在sql语句的基础上加入一定的逻辑操作,如if for...,使之成为一个sql块,完成一定的功能。
九、四个对象
- table:表:由行和列组成,列又称字段,每一行内容为表格的一条完整的数据。
- view: 视图:一张表或者多张表的部分或者完整的映射,好比表格照镜子,镜子里面的虚像就是view
(除去常见的table和view两种对象以外,oracle数据库还支持如下四种对象)
- sequence:序列
- index:索引,提高数据的访问效率
- synonym:同义词,方便对象的操作
- program unit:程序单元,pl/sql操作的对象
十、SQL五种分类
这里介绍详细https://www.cnblogs.com/fjfzhkb/archive/2007/10/18/929108.html 不再赘述
十一、2019.9.5 加油油
晚安
-^_^-