前言
目前,我们已经来到了第二个重难点内容,对有数据库基础的小伙伴来说,记一下就行。但是,纯新手上路,还是需要自己补一下专业名称知识哒!
数据库(占比17%)
1、主流的关系型数据库:Oracle、DB2、Mysql(主流中的主流)
扯远点:上述3个主流数据库的区别,主要之前别的岗位面试的时候被问到过,所以浅浅聊一下
Oracle:先进、好、有完整的数据管理等等的功能、广泛应用于大型企业(小声叭叭:收费)
DB2:适合处理海量数据,在企业级广泛应用(中不溜)
Mysql:以跨平台性、高性能和开源著称(小声叭叭:为啥是大哥,因为免费)
2、数据库:是表的集合,带有相关的数据;数据库可以进行数据收集、数据整合、数据调用等工作;
3、表:一个表为多个字段的集合
4、字段:一个字段是一列数据,由字段名和记录组成(字段和记录是啥,在数据结构篇章有讲过哇!要认真按顺序学习哦!)
5、数据定义语言DDL:(接下来就是关于数据库操作语句SQL内容部分,必考的)
按操作对象可分为:
对数据库对象的操作语言
创建create
查看show
使用use
删除drop
对数据表对象的操作语言
创建:create
新增:insert
查询:select
修改:update
删除:delete
修改数据表字段名称、数据类型:alter
导入外部数据:load
6、数表约束条件(模拟题):
PRIMARY KEY :主键约束(非空、不重复)
NOT NULL:非空约束
UNIQUE:唯一约束
AUTO_INCREMENT:自增字段(一般用于序列字段)
DEFAULT:默认值
7、主键(这玩意数据结构篇章有带到过哦,再叭叭几句)
主键(主码):是数据表中一列或多列的组合,主键约束:非空、唯一(就是目录的功能,帮助定位数据表内唯一的一条记录)
主键类型:单字段主键、多段联合主键
8、select(查询,也是会频繁用到的语句)语句的操作符
算术操作符:+(加)、-(减)、*(乘)、/(除)
比较操作符:=(等于)、>(大于)、<(小于)、<=(小于等于)、>=(大于等于)、!=或<>(不等于)、!>(不大于)、!<(不小于)
9、数据查询方法:
首先,熟悉一下查询语句的语法
单表查询(一次只查询一个表的数据内容)
一个基础的查询语句:select <目标列组> from <数据表名>
一个降序查询不同城市PM10的平均值语句,当然这个是一个复杂的查询,有什么查询要求,就根据基础查询语句添加操作词即可,需要注意查询词的先后出现顺序,按照上面提到的查询语句的语法顺序
多表查询:将两个及以上的数据表通过关键字连接在一起,并从不同表中取不同字段进行查询方法
关键字段:
a. 相连的表中都需要有的关键字段
b. 关键字段中的记录信息能够匹配到上
c. 最理想的连接状态是关键字段都是主键,且主键值能一一匹配
基础语句:
select <目标列组> from <表1> xx join <表2> on 表1.key = 表2.key
a. xx 代表连接方向,例:inner、left、right等
b. 在xx(所谓连接语句)前边的是“左表”,当前应用-表1为左表
反之,为右表,当前应用-表2为右表
示例:
注意:* 的意思—数据表的所有列
10、数据表的连接方式:
(叭叭一下,这个和之前表结构数据的连接方式,名字类似,但是结果不太一样,大家一定要注意,不要混淆)
内连接(inner join):只返回满足条件的行
左连接(left join):返回左表所有行+满足连接条件的行
右连接(right join):返回右表所有行+满足连接条件的行
(最后再叭叭一下,一定要认真区分,这几种连接方式返回的行数!!!!!!!!)
11、全表连接:返回连接表的全部记录,按照链接条件返回匹配结果,没有匹配记录的用null值填充返回
12、联合查询:上两个知识点讲到的连接方式都是横向的连接,现在是纵向的连接
union:用户合并两个或多个select语句的结果集,并消除任何重复行
基本语句:
select t1.* from t1
union
select t2.* from t2;
union all:和union的功能一样,就是不去重
基本语句:
select t1.* from t1
union all
select t2.* from t2;
13、数据表操作条件的操作符说明:
and:用于联合多个条件进行查询,条件之前的关系是“和”的意思
or:用于联合多个条件进行查询,条件之前的关系是“或”的意思
in:判断数据表某个字段是否在指定集合中,如果在集合内,满足条件,反之,则不满足
也可以用 not in 进行判断字段不在指定集合中
between:判断某个字段的值是否在指定的范围内,在,满足,反之,不满足
也可以用 not between 进行判断不在指定方法内
like:匹配字符串是否相等,not like 匹配字符串不相等
也可用作模糊匹配:字段名 like ‘%b'、字段名 like ‘b%'、字段名 like ‘%b%'
模糊的语句意思:字段值包含以b结尾的值、字段值包含以b开始的值、字段值包含b的值
is null:判断字段值是否为空值,is not null 判断字段值不为空值
distinct:用来去重,使用示例如下
14、子查询:写在()中,将子查询结果当做主查询参照的数据表来用
15、一些常用的函数:
16、补充over()开窗函数:使用效果如下