1 蠕虫复制
- 蠕虫复制:从已有的数据中去获取数据,然后将数据又进行新增操作,数据成倍增加。
create table 表名 like 数据库.表名;
insert into 表名 [(字段列表)] select 字段列表/* from 数据表名;
- 蠕虫复制的意义
- 从已有表拷贝数据到新表中
- 可以迅速的让表中的数据膨胀到一定的数量级:测试表的压力以及效率。
2 查询
select 字段列表/* from 表名 [where 条件];
select [select 选项] 字段列表 [字段别名]/* from 数据源 [where 条件子句] [group by 子句] [having 子句][order by子句][limit 子句];
- select选项:select对查出来的结果的处理方式。
- all :默认的,保留所有的结果。
- distinct:去重,查出来的结果,将重复给去除(所有字段都相同)。
- 字段别名
- 当数据进行查询出来的时候,有时间名字并不一定就满足需求(多表查询的是偶,会有同名字段),需要对字段进行重命名。
- 数据源
- 数据源:数据的来源,关系型数据库的来源都是数据表,本质上只要保证数据类似二维表,最终都可以作为数据源。
- 数据源分为:
select * from 表名1,表名2,……;
- where子句
- 用来判断数据,筛选数据。
- where子句返回结果:0(代表false)或1(代表true)。
- 判断条件:
- 比较运算符:>、<、>=、<=、!=、<>、like、between and、in、not in
- 逻辑运算符:and、or、not
- where原理:where是唯一一个直接从磁盘获取数据的时候就开始判断的条件,从磁盘取出一条记录,开始进行where判断,判断的结果如果成立就保存到内存,如果失败直接放弃。
- group by子句
- group by:分组,根据某个字段进行分组(相同的放一组,不同的分到不同的组)
- 分组的意义:是为了统计数据(按组统计:按分组字段进行统计)。
- having子句
- having子句:where是针对磁盘数据进行判断,进入到内存之后,会进行分组操作,分组结果就需要having来处理。
- having能够使用字段别名:where不能,where是从磁盘
- order by子句
- 根据某个字段进行升序或降序排序,依赖校对集。
- 语法:
- limit子句
- limit子句是一种限制结果的语句:限制数量。
- 两种方式:
- 只用来显示长度:limit 数据量;
- 分页:limit m,n;m--起始页码 n--每页显示条数。