Mysql——对数据基本操作(增删查改)——操纵语言(DML)

之前的创建数据库和创建表,类型、约束都是用的DDL【data definition language】 数据定义语言,用来维护存储数据的结构
代表指令: create, drop, alter

那么现在我们来学习数据操纵语言
DML【data manipulation language】 数据操纵语言,用来对数据进行操作
代表指令: insert,delete,update
DML中又单独分了一个DQL,数据查询语言,代表指令: select

insert 插入

在这里插入图片描述

单行/多行/全列/指定列

1、单行全列插入:
在这里插入图片描述
2、单行指定列插入
在这里插入图片描述
3、多行全列插入:
在这里插入图片描述
5、多行指定列插入:
在这里插入图片描述
插入时更新:当插入的数据的主键或者唯一键和表中已有的发生冲突,那么表中的哪行主键或者唯一键之外的数据就更新为新插入的数据
on duplicate key update
在这里插入图片描述
替换:主键或唯一键发生冲突,直接删除后替换 replace
在这里插入图片描述

查询语句

select
全列查询:
在这里插入图片描述
指定列查询:
在这里插入图片描述
查询字段+整数
在这里插入图片描述
查询部分字段的总和+as重命名:总分
在这里插入图片描述
distinct 查询列去重:
在这里插入图片描述

结果去重:显示取中,只是查询显示出来的内容去重,表中的数据并没有真的被删除
distinct
在这里插入图片描述

条件查询

select … from table where 条件
在这里插入图片描述
like 模糊匹配
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

排序:
ASC升序(默认)
DESC降序

select … from table order by … ASC/DESC
在这里插入图片描述
在这里插入图片描述
筛选、查询、排序
在这里插入图片描述

分页:

有的表格太多数据,所以我们查询显示的时候可以分页来显示
limit 2 其实值是0,这里的意思就是显示两页
在这里插入图片描述
limit n1 n2 从其实位置n1页后,开始显示n2页
在这里插入图片描述

update 对查询的结果进行更新

update tablename set 要改变的字段 查询出的字段…
一定是先查询在更新
在这里插入图片描述
体现查询后再更新:
在这里插入图片描述

delete

查询后删除
在这里插入图片描述
删除整张表的数据后,如果表中有字段有自增属性的话,他的初始值不会随着表的删除而值0,而是会延续上一次的。——delete SQL语句的事务机制,
在这里插入图片描述
truncate 截断表,

  1. 只能对整表操作,不能像 DELETE 一样针对部分数据操作;
  2. 实际上 MySQL 不对数据操作,所以比 DELETE 更快,但是TRUNCATE在删除数据的时候,并不经过真正的事
    物,所以无法回滚
  3. 会重置 AUTO_INCREMENT 项

插入查询结果,把查询结果作为一张新表

样例:
把表中的数据去重:
之前的 distinct 只是对显示去重,其实表中的数据并没有去重,

所以我要先 创建一个与原表相同结构的表
在这里插入图片描述
把原表查询后去重的结果插入到新表中
在这里插入图片描述
然后直接把新表的名字改原表的名字,原表的名字改为其他的——直接重命名,就是把文件名和inode的对应改一下是原子的
在这里插入图片描述

聚合函数,把查询后的结果放入函数:

count() 查询个数
在这里插入图片描述
sum() 求总和
在这里插入图片描述
在这里插入图片描述

group by 分组

在这里插入图片描述
显示每个部门的平均工资和最高工资:
在这里插入图片描述
显示平均工资低于2000的部门和它的平均工资 'SMITH’这名运功不参与统计
在这里插入图片描述

where VS having
都是用于筛选 不同的是having可以用于对分组聚合之后的表进行筛选

分组——就相当于把一个表分为多个表,聚合后又形成一个表,不要认为只有磁盘上存储的表才是表,我们用SQL语句筛选出来的表也是表,之后的什么多个表,只要我们能够把他聚合成为一个表现实出来那么他也是表——MySQL一切皆表

  • 11
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值