1.0 数据库
1.1 数据库分类
1.1.1 关系型数据库
定义:关系型数据库是建立在关系型模型上的,简单理解为,遵循SQL语音的
mysql 使用比较广泛的数据库,开源,免费著称
SQL server 微软出的,在微软的项目中用的多
Oracle 适合大型项目,有钱公司用的,适合银行,电信,国企等
sqlite 轻量级数据存储,主要应用在移动设备
Postgresql 支持大部分的SQL标准并且提供了很多其他现代特性,如复杂查询、外键、触发器、视图、事务完整性、多版本并发控制等
1.1.2 非关系型数据库
redis
mongodb
{'name':'zhangsan',"age":18}
1.1.3 实时数据库
filebase
1.1.4 RDBMS模型
relational database mangement system
多条测试用例------>工作簿------>多个工作簿----->Excel文件 Excel文件
每一条数据------>数据表------>多张数据表------>数据库
1.1.5 数据库排名
省略(网上可查)
1.2 sql语法
1.2.1 DQL数据查询语言
用于对数据的查询 select
1.2.2 DML 数据操作语言
-
用于对数据的增加,修改,删除
-
insert update delete
1.2.2.1 插入数据
方法1:全列插入
-
insert into 表名 value/values(数据的顺序必选安装字段的顺序)
方法2:
-
insert into表名(字段1,字段2)values/value(字段对应的值)
注意点:
如果是自增字段,可以不写,或者用null来进行填充
1.2.2.2 更新
-
update 表名 set 字段名=值,字段名=值... where 条件定位
注意点:如果不定位,会出现当前表的指定字段全部被修改
1.2.2.3 删除
-
delete from 表名 where 条件定位
-
软删除:非物理,逻辑删除
-
硬删除:物理意义上的删除
1.2.3 TPL 事务处理语言
一组操作,要么全部成功,要么全部失败
commit rollback
1.2.4 DCL数据控制语言
权限的授权与收回
1.2.5 DDL 数据定义语言
进行创建数据库,数据库表
1.2.6指针控制语言
通过控制指针完成表的操作
2.0 DDL操作表结构
2.1 创建数据库
create database 数据库名称
2.2 创建表
create table 表格名
2.2.1 查看表结构
desc 表名
2.3 字符串类型
类型 | 字节大小 | 案例 |
---|---|---|
char | 0-255 | char(3),'abcd'----->'abc','ab'---->'ab' |
varchar | 0-255 | varchar(3)'abcd'--->'abc','ab'--->'ab' |
text | 0-65535 | 大文本,一般大于4000 |
2.4 约束
2.4.1 约束类型
primary | 主键 | 物理位置的唯一性,标记存储顺序 |
---|---|---|
not null | 非空 | |
unique | 唯一值 | |
check | 检查 | 在MySQL5.0版本不生效 |
2.4.2 字段约束
约束在定义的过程,在字段数据类型后直接定义
2.4.3 表级约束
外键
2.4.4 增加字段
在已经存在的表中加上指定的字段用alter关键字
案例:alter table 表格名字 add 数据类型和约束
2.4.5 修改字段,已经存在的字段
修改字段,已经存在的字段
-
alter table 表格名字 change 原来的字段名 新的字段名 数据类型和约束 重新命名版本
-
alter table 表格名字 modify 原来的字段名 数据类型和约束 只修改数据类型和约束
-
alter table 表格名字 drop 字段名
3.0 DQL查询表中的数据
3.1 查询所有的字段
select * from 表名
3.2 查询指定的字段
select 字段名1 字段名2,,,,,from 表名
给字段起别名:
select 字段名1 as 别名,字段名2 别名2 ,,,,from 表名
注意点:关于起别名的问题,as可以省略也可以写
3.3 去重操作
select distinct 字段名 from 表名
distinct 关键字,去重操作
3. 4 查询空值
is null
is not null
3.5 查询两者之间
between 数据1 and 数据2
比如:age BETWEEN 80 AND 100 相当于: age>=80 and age<=100
3.6 条件筛选
select 指定字段 from 表名 where 条件
3.7 排序
select * from 表名 order by 字段1 desc /asc ,字段2 desc/ASC
注意:降序(desc)/升序(默认,ASC)
3.8 分页
select 字段 from 表名 limit 位置,个数
3.9 聚合函数
-
count统计个数。案例:select count(*)from 表名
-
sum求和
-
AVG 平均值
-
max 最大值
-
min 最小值
案例:
-- 查询年龄大于 20 的总数
select count(*) from student where age>20;
-- 查询数学成绩总分
select sum(math) 总分 from student;
-- 查询数学成绩平均分
select avg(math) 平均分 from student;
-- 查询数学成绩最高分
select max(math) 最高分 from student;
-- 查询数学成绩最低分
select min(math) 最低分 from student;
3.10 分组
3.10.1 规则
select 分组依据(分组字段名),group_concat(需要展示的字段名1,字段名2,,,,,,)
from 表名 group by 字段名
3.10.2 where having
where 在原始数据上就能进行条件筛选
having 分组之后的条件筛选
3.11 两表联查
select 字段 from 表1 inner join 表2 on 两张表的链接条件