二、数据库概念
1.把数据存储在数据库里面比存储在文件里面处理时要快。
2.数据库api
3.数据库操作的物理层
4.数据库操作的文件层
5.数据库的操作语言
增删改查,对象为数据库或数据表
6.数据库里面的术语
7.目的是学习如何用(熟练操作数据库,能够解决面试题目),以及对概念的理解。
8.数据库的本质
9.查询中的like子句
LIKE 子句中使用百分号 %字符来表示任意字符,类似于UNIX或正则表达式中的星号 *
select ... from ... where ...=...;
select ... from ... where ...like...;
select ... from ... where ...like %...;
10.union 操作符
MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。多个 SELECT 语句会删除重复的数据。类似于and,or操作符
select ... from ...
union
select ...from ...
搜寻的字段需是一样的,得到的结果整合到一起(union默认删除重复数据)
11.排序
用的是order by ... 语句
ASC 升序
DESC降序
12.分组
group by ...
排序和分组都是配合查询语句用的,放在语句后面
13.多表操作中的连接
数据库多用的是查询语句
inner join(join) on
left join(以左边表为依据,扩充) on...
right join(以右边表为依据扩充,没有就用null) on......
连接后相当于建立了一个临时表,扩充了列
也可以直接从两个表来查询
需要对数据表进行实例化
14.对字段中null处理
is null
is not null
<=>
与where搭配使用
15.mysql的正则表达式
目的是为了不定项的查询,与where搭配使用
开头字母
^st
结尾字母
st$
regexp(正则表达式),类似于 =
16.事务
17.alter命令
修改数据表名和字段名称
alter table ... drop ...
18.索引
索引也是一张表,加快查询速度
19.count()函数
对表中记录数的计算
19.1 count(*)---包括所有列,返回表中的记录数,相当于统计表的行数,在统计结果的时候,不会忽略列值为NULL的记录
19.2 count(列名)---只包括列名指定列,返回指定列的记录数,在统计结果的时候,会忽略列值为NULL的记录(不包括空字符串和0),即列值为NULL的记录不统计在内。
19.3 count(distinct 列名)---只包括列名指定列,返回指定列的不同值的记录数,在统计结果的时候,在统计结果的时候,会忽略列值为NULL的记录(不包括空字符串和0),即列值为NULL的记录不统计在内。
20.where与having 的区别
where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,where条件中不能包含聚组函数,使用where条件过滤出特定的行。
having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having 条件过滤出特定的组,也可以使用多个分组标准进行分组。