MYSQL高级操作

第一范式

第一范式: 1NF: 如果一张表的某个字段的数据在从表中取出来之后还需要进行额外的加工(查分)才能使用的话说明当前数据的存储不合理应该进行拆分后再分别存储将这种数据需要拆分才能使用的设计方式违背了第一范式数据字段必须具有原子性(不可再分)

第二范式

第二范式: 2NF, 如果一张表存在复合主键(多个字段构成), 但是表中的其他字段并不是完全依赖整个主键而只是依赖主键的部分(某个字段) , 这种时候该字段对主键的依赖就存在了部分依赖第二范式取消部分依赖.

第三范式

第三范式: 3NF, 如果一张表中有一个字段,是依赖主键的但是又有另外一个字段不是直接依赖主键而是通过某个非主键字段依赖主键把这种通过非主键字段依赖主键的形式称之为传递依赖第三范式消传递依赖.

逆规范化

2.数据高级操作

蠕虫复制

逆规范化明明知道数据可以被查出来但是还是不采用查询方式,而是直接将数据写入到对应的表中.

作用1: Create table like从已有表复制结构但是没有数据就可以使用蠕虫复制将数据复制过来

作用2: 蠕虫复制可以快速的表中的数据达到指数级(数据量很大): 数据本身没有意义,在于可以测试数据表的压力性能测试(使用索引提升性能).

修改数据

修改数据的标准语句

Update 表名 set 字段名 值 [where条件];

 

高级数据的更新语句

Update 表名 set 字段名 值 [where条件] [limit语句];

Limit: 限制更新的记录数: limit 数字数字代表限制的记录数

删除数据

标准删除语句

Delete from 表名 [where条件];

 

高级删除

Delete from 表名 [where 条件] limit 记录数;

 

高级查询

标准查询

Select */字段列表 from 表名 [where条件];

 

完整查询

Select [select选项] */字段列表[字段别名] from 数据源 [where子句] [group by子句] [having子句] [order by子句] [limit子句];

 

Select选项

Select选项用来控制数据的重复性

All: 保存所有数据,重复的也无关(所有字段都重复), 默认的

Distinct: 去重,去掉重复记录(所有字段都重复)

别名语法

字段名 as 别名; -- as关键字

字段名 别名; -- as关键字可以省略

你可能感兴趣的:(MYSQL高级操作)