1.字符类型的宽度和数值类型的宽度区别:
1.数值类型的宽度仅仅为显示宽度,只用于select查询显示,和
占用的存储空间大小无关,可用zerofill查看效果
2.字符类型的宽度超过则无法存储
2.where条件子句(配合查询,修改,删除操作)
1.语句格式
select * from 表名 where 条件;
3.表记录管理
1.删除表记录
1.delete from 表名 where 条件;
2.注意
delete 语句后如果不加where条件语句,会将表中所有记录都删除
2.更新表记录:
1.update 表名 set 字段名1=值1,字段名2=值2,... where 条件;
2.注意
update语句如果不加where 条件子句会将表中所有记录都会更改
4.运算符操作
1.数值比较&字符比较
1,数值比较运算符:=,!=,>,>=,<=,<;
2,字符比较运算符: =,!=;
2.逻辑比较
1.运算符:
and(两个或者多个条件同时满足)
or (两个或者多个条件有一个满足就可以)
3.范围内比较
1.运算符
between and ,in , not in ,
语法:
between 值1 and 值2
in(值1,值2,....值N)
not in(值1,值2,....值N)
4.匹配空,非空
1.空: is null
2.非空:is not null
注意:
1.null:空值,必须用is或者 is not 去匹配
2."" :空字符串,用= 或者 !=去匹配
5 . 模糊比较
1.where 字段名 like 表达式;
2.表达式
1._:匹配当个字符
2.%:匹配0到多个字符
6.正则匹配查询 regexp
1.where 字段名 regexp "正则表达式";
2.正则表达式符号
^ :以..开头
$: 以...结尾
.: 匹配任意一个字符
[]:包含...内容
[0-9]:匹配带数字的
[a-z]:匹配带小写字母
[A-Z]:匹配带大写字母
*:星号前面的字符出现0个或者多次 "^赵.*"
5.SQL查询
1.总结(执行顺序)
select ... 3.聚合函数 from 表名
1.where ...
2.group by ...
4.having ...
5.order by ...
6.limit ...
2.order by
1.作用:给查询的结果进行排序
2.语法格式:order by 字段名 排序方式;
3.排序方式
1.ASC(默认):升序
2.DESC:降序
3.limit(永远放在SQL语句最后)
1.作用:限制显示查询记录的个数
2.用法
1.limit n :--->显示n条记录
2.limit m,n:--->从第(m+1)条记录,显示n条记录
4.聚合函数
1.分类
1.avg(字段名):求字段的平局值
2.sum(字段名):求字段的和
3.max(字段名):求字段的最大值
4.min(字段名):求字段的最小值
5.count(字段名):统计该字段记录的个数
5.group by (先分组,再聚合)
1.作用:给查询的结果进行分组
执行过程:
1.先分组(此时未去重)group by country
2.再聚合(求每组的平均值)
3.去重
3,注意
1.group by 之后的字段名必须要为select之后的字段名
2.如果select之后的字段没有,在group by 语句之后则
必修对该字段进行聚合处理
6.having
1.作用:对查询的的结果进行进一步删选
3.注意
1.having语句通常与group by语句联合使用,用来过滤由
group by 语句返回的记录集
2.having语句的存在,弥补了where条件子句不能与聚合函数
联合使用的不足,where操作的是表中实际存在的字段
having操作的是聚合函数生成的显示列
7.distinct
1.作用:不显示字段的重复值
3.注意
1.distinct处理的是distinct和from之间的所有字段,
所有字段的值必须完全相同才可以去重
2.distinct不能对任何字段做聚合处理
8.查询表记录时可以做数学运算
1.运算符
+ - * / %
9.约束
1.作用
1.保证数据的完整性,一致性,有效性,可以限制无效的数据
插入到数据表中
2.约束分类
1.默认约束(default)
1.作用
插入记录时 如果不给该字段赋值 则使用默认值
2.格式:
字段名 数据类型 default 默认值,
2.非空约束
1.作用
不允许该字段的值有空值NULL记录
2.格式
字段名 数据类型 not null,
#id int not null,
#name varchar(20) not null,
7,mysql 索引
1.定义
对数据库中表的一列或者多列的值进行排序的一种结构
(mysql中索引用Btree方式)
2.索引的优缺点(背诵)
可以加快数据的检索速度
缺点:
1.当对表中的数据进行增加,修改,删除的时候,索引需要动态维护
降低了数据的维护速度
2.索引需要占用物理存储空间(数据库目录/var/lib/mysql)
1.数值类型的宽度仅仅为显示宽度,只用于select查询显示,和
占用的存储空间大小无关,可用zerofill查看效果
2.字符类型的宽度超过则无法存储
2.where条件子句(配合查询,修改,删除操作)
1.语句格式
select * from 表名 where 条件;
3.表记录管理
1.删除表记录
1.delete from 表名 where 条件;
2.注意
delete 语句后如果不加where条件语句,会将表中所有记录都删除
2.更新表记录:
1.update 表名 set 字段名1=值1,字段名2=值2,... where 条件;
2.注意
update语句如果不加where 条件子句会将表中所有记录都会更改
4.运算符操作
1.数值比较&字符比较
1,数值比较运算符:=,!=,>,>=,<=,<;
2,字符比较运算符: =,!=;
2.逻辑比较
1.运算符:
and(两个或者多个条件同时满足)
or (两个或者多个条件有一个满足就可以)
3.范围内比较
1.运算符
between and ,in , not in ,
语法:
between 值1 and 值2
in(值1,值2,....值N)
not in(值1,值2,....值N)
4.匹配空,非空
1.空: is null
2.非空:is not null
注意:
1.null:空值,必须用is或者 is not 去匹配
2."" :空字符串,用= 或者 !=去匹配
5 . 模糊比较
1.where 字段名 like 表达式;
2.表达式
1._:匹配当个字符
2.%:匹配0到多个字符
6.正则匹配查询 regexp
1.where 字段名 regexp "正则表达式";
2.正则表达式符号
^ :以..开头
$: 以...结尾
.: 匹配任意一个字符
[]:包含...内容
[0-9]:匹配带数字的
[a-z]:匹配带小写字母
[A-Z]:匹配带大写字母
*:星号前面的字符出现0个或者多次 "^赵.*"
5.SQL查询
1.总结(执行顺序)
select ... 3.聚合函数 from 表名
1.where ...
2.group by ...
4.having ...
5.order by ...
6.limit ...
2.order by
1.作用:给查询的结果进行排序
2.语法格式:order by 字段名 排序方式;
3.排序方式
1.ASC(默认):升序
2.DESC:降序
3.limit(永远放在SQL语句最后)
1.作用:限制显示查询记录的个数
2.用法
1.limit n :--->显示n条记录
2.limit m,n:--->从第(m+1)条记录,显示n条记录
4.聚合函数
1.分类
1.avg(字段名):求字段的平局值
2.sum(字段名):求字段的和
3.max(字段名):求字段的最大值
4.min(字段名):求字段的最小值
5.count(字段名):统计该字段记录的个数
5.group by (先分组,再聚合)
1.作用:给查询的结果进行分组
执行过程:
1.先分组(此时未去重)group by country
2.再聚合(求每组的平均值)
3.去重
3,注意
1.group by 之后的字段名必须要为select之后的字段名
2.如果select之后的字段没有,在group by 语句之后则
必修对该字段进行聚合处理
6.having
1.作用:对查询的的结果进行进一步删选
3.注意
1.having语句通常与group by语句联合使用,用来过滤由
group by 语句返回的记录集
2.having语句的存在,弥补了where条件子句不能与聚合函数
联合使用的不足,where操作的是表中实际存在的字段
having操作的是聚合函数生成的显示列
7.distinct
1.作用:不显示字段的重复值
3.注意
1.distinct处理的是distinct和from之间的所有字段,
所有字段的值必须完全相同才可以去重
2.distinct不能对任何字段做聚合处理
8.查询表记录时可以做数学运算
1.运算符
+ - * / %
9.约束
1.作用
1.保证数据的完整性,一致性,有效性,可以限制无效的数据
插入到数据表中
2.约束分类
1.默认约束(default)
1.作用
插入记录时 如果不给该字段赋值 则使用默认值
2.格式:
字段名 数据类型 default 默认值,
2.非空约束
1.作用
不允许该字段的值有空值NULL记录
2.格式
字段名 数据类型 not null,
#id int not null,
#name varchar(20) not null,
7,mysql 索引
1.定义
对数据库中表的一列或者多列的值进行排序的一种结构
(mysql中索引用Btree方式)
2.索引的优缺点(背诵)
可以加快数据的检索速度
缺点:
1.当对表中的数据进行增加,修改,删除的时候,索引需要动态维护
降低了数据的维护速度
2.索引需要占用物理存储空间(数据库目录/var/lib/mysql)