发表于: 2020-06-07 22:11:24

1 1684


今天完成的事情:

1.数据库的索引

索引是什么?

索引是存储在表中的一个特定列的值的数据结构。索引是数据结构。

为什么需要索引?

没有索引,搜索数据的时候需要一行一行的比对目标值。

有了索引以后缩小了需要比对的数据范围。

什么样的数据结构可以作为索引使用?

B-TreeB+Tree、哈希表··

索引的代价?

占用空间随着数量增大而增大;增删改需要更多的时间;


2.Sql 执行顺序

afrom

bjoin

con

dwhere

egroup by

favgsum···

ghaving

hselect

idistinct

jorder by

klimit

 

3.多表连接

交叉连接(cross join):得到的结果集数据量将会是两个表的乘积。【并集】

Tb1

 

Tb2

 

Id

Name

Id

Car

1

Bob

1

Ford

2

Lili

2

Benz

 

 

3

nissan

 

SELECT * FROM tb1 corss join tb2 on tb1.id=tb2.id;

 

 

内连接(inner join):【交集】

等值连接:

SELECT * FROM tb1 inner join tb2 on tb1.id=tb2.id;

SELECT * FROM tb1,tb2 where tb1.id=tb2.id;

 

不等连接:

SELECT * FROM tb1 inner join tb2 on tb1.id<tb2.id;

 

外连接(left joinright join):

左外连接 left join

SELECT * FROM tb1 left outer join tb2 on tb1.id=tb2.id;

 

右外连接 right join

SELECT * FROM tb1 right outer join tb2 on tb1.id=tb2.id;

 

SELECT * FROM tb1 right outer join tb2

on tb1.id=tb2.id

where tb1.id is null


4.interface abstract

 interface

接口:用 interface 关键字声明的类,其内部有且仅有方法的签名,不能有成员变量。

 行为:

 接口无法被实例化

 接口可以继承自多个接口

 接口类只能被赋值为实现其内部所有方法的子类

 

abstract

抽象方法:签名前有关键字 abstract 且没有实现。

 抽象类:包含抽象方法的类,其类本身也必须声明为抽象的。没有抽象方法的类也可以被声明为抽象类。

 行为:

 抽象类无法实例化

 抽象类只能单继承

 子类需实现所有的抽象方法,否则也要声明为抽象类

 抽象方法不能声明为 private

 

抽象类与接口就是为了让子类去实现一些方法,没有继承就没有抽象类与接口概念。

抽象程度:接口>抽象类>一般类

 从实现上来说抽象类比接口更需要花时间思考,因为抽象类同时存在成员变量与方法,且部分方法不是抽象方法。单继承的抽象类扩展起来也没有接口方便。


 

 明天的计划:

1. 任务四

 



返回列表 返回列表
评论

    分享到