MySQL第二招 DML

上一招我们说了和表相关的操作
这次主要说说操作表其中数据
首先肯定是插入数据

INSERT INTO tablename (field1,field2,……fieldn) VALUES(value1,value2,……valuesn),(value1,value2,……valuesn),(value1,value2,……valuesn);

也可以不用指定字段名称,但是 values 后面的顺序应该和字段的排列顺序一致,对于含可空字段、非空但是含有默认值的字段、自增字段,可以不用在 insert 后的字段列表
里面出现,values 后面只写对应字段名称的 value,这些没写的字段可以自动设置为 NULL、
默认值、自增的下一个数字,这样在某些情况下可以大大缩短 SQL 语句的复杂性。

更新数据

UPDATE tablename SET field1=value1,field2.=value2,……fieldn=valuen [WHERE CONDITION]

删除数据

DELETE FROM tablename WHERE[CONDITION]

在 MySQL 中可以一次删除多个表的数据,语法如下:

DELETE t1,t2…tn FROM t1,t2…tn [WHERE CONDITION]

如果 from 后面的表名用别名,则 delete 后面的也要用相应的别名,否则会提示语法错误。

查询数据
由于 SELECT 的语法很复杂,所有这里只介绍最基本的语法:

SELECT * FROM tablename [WHERE CONDITION]

查询不重复的数据distinct
比如:select distinct name from student

查询中可以用and or not 逻辑运算符将多个条件进行合并查询,sql语句中还支持运算符比如=,>,<,>=,<=等

排序和限制
排序分为升序和降序
升序:ASC 比如:select * from student ORDER BY id ASC
就是以student表中的id 升序作为条件查询出student中的所有数据
降序:DESC 用法和升序的一致
升序和降序都可以接多个字段作为排序字段
限制:ORDER BY

分页:limit

SELECT ……[LIMIT offset_start,row_count]

其中 offset_start 表示记录的起始偏移量,row_count 表示显示的行数。
在默认情况下,起始偏移量为 0,只需要写记录行数就可以,这时候,显示的实际就是前 n
条记录,

聚合:group by

SELECT [field1,field2,……fieldn] fun_name
FROM tablename
[WHERE where_contition]
[GROUP BY field1,field2,……fieldn
[WITH ROLLUP]]
[HAVING where_contition]

fun_name 表示要做的聚合操作,也就是聚合函数,常用的有 sum(求和)、count(*)(记
录数)、max(最大值)、min(最小值)。
GROUP BY 关键字表示要进行分类聚合的字段,比如要按照部门分类统计员工数量,部门
就应该写在 group by 后面。
WITH ROLLUP 是可选语法,表明是否对分类聚合后的结果进行再汇总。
HAVING 关键字表示对分类后的结果再进行条件的过滤。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值