对mysql数据的进一步操作查询。
mysql的条件 使用where子句对表中的数据筛选,结果为true的行会出现在结果集中
语法: select * from 表名 where 条件; ( 在这里声明*代
消除重复行: select distincea 字段名 from 表名
模糊查询:是针对众多的数据中针对单条数据的快速查询方法
like
%表示任意多个任意字符
_表示一个任意字符
语法:select * from 表名 where(条件) 字段名 like ‘被查询的条件’
范围性的查询:有两种 1是:in 在一个非连续性的范围内查询
2是: betwee (条件)and (条件) 连续性的范围查询
mysql的运算优先级:小括号>not>比较运算>逻辑运算(and比or先运算,如果同时出现并希望先算or,需要结合()使用)
聚合:为了快速得到统计数据 count(*)表示计算总行数 max(列)表示求此列的最大值 min(列)表示求此列的最小值 sum(列)表示求此列的和 sum(列)表示求此列的和 avg(列)表示求此列的平均值
按照字段分组,表示此字段相同的数据会被放到一个组中 分组后,只能查询出相同的数据列,对于有差异的数据列无法出现在结果集中 可以对分组后的数据进行统计,做聚合运算
语法:
select 列1,列2,聚合... from 表名 group by 列1,列2,列3...
分组后的数据筛选
语法:
select 列1,列2,聚合... from 表名 group by 列1,列2,列3... having 列1,...聚合...
having后面的条件运算符与where的相同
排序 :为了方便查看数据,可以对数据进行排序
语法:
select * from 表名 order by 列1 asc|desc,列2 asc|desc,...
注:(默认按照列值从小到大排列
asc从小到大排列,即升序
desc从大到小排序,即降序)
获取部分行 :当数据量过大时,在一页中查看数据是一件非常麻烦的事情,这时候就用到了获取部分行
语法
select * from 表名 limit start,count
从start开始,获取count条数据
start索引从0开始
mysql关系:外键 如果一张表中有一个非主键的字段指向了别一张表中的主键,就将该字段叫做外键。(一张表中可以有多个外键。)
使用外键的前提:
1. 表储存引擎必须是innodb,否则创建的外键无约束效果。
2. 外键的列类型必须与父表的主键类型完全一致。
3. 外键的名字不能重复。
4. 已经存在数据的字段被设为外键时,必须保证字段中的数据与父表的主键数据对应起来。
链接查询: 当需要对有关系的多张表进行查询时,需要使用连接join
语法:select 属性 from 子表 inner join 父表 on 子表.属性=父表.属性
连接查询分类如下:
表A inner join 表B:表A与表B匹配的行会出现在结果中
左链接: 表A left join 表B:表A与表B匹配的行会出现在结果中,外加表A中独有的数据,未对应的数据使用null填充
右链接: 表A right join 表B:表A与表B匹配的行会出现在结果中,外加表B中独有的数据,未对应的数据使用null填充
网友评论