一、聚合排序
1、对表进行聚合查询
count/sum/avg/max/min
count(*),count 函数的独有用法,注意区别;
聚合函数,指用于汇总的函数。
2、对表进行分组
group by
对于 GROUP BY 聚合操作,如果在 SELECT 中的列、HAVING 或者 ORDER BY 子句的列,没有在GROUP BY中出现,那么这个SQL是不合法的
以下链接,该博主有详细的解释,非常实用,方便我们入门小白快速学习。推荐学习。
3、为聚合结果指定条件
HAVING 子句,执行顺序在GROUP BY之后,用于对分组结果设定条件
理解where 与HAVING子句条件的区别
4、对查询结果进行排序
order by
写在 select 语句德末尾,以列为单位指定排序,允许使用别名。
order by desc;
order by asc;
Null作为不确定项,排在序列的最后,或最前方。
可以使用不再select 语句中出现的列,可以使用聚合函数。
order by count.
二、数据更新
1、数据插入insert
用于向表中插入行
insert into tank_info (product_id,product_namr,product_numb,atomnum,line) values(119,"pilot",16949,001,"A");
列清单与值清单对应,否则会出错,注意数据类型;
练习一次插入多行;
insert into ...select....;
自行练习一段代码
select * from tank_info;
select max(product_id) from tank_info;
select product_namr from tank_info group by product_namr;
insert into tank_info (product_id,product_namr,product_numb,atomnum,line) values(119,"pilot",16949,001,"A");
create table tankcopy(name varchar(100),num varchar(100));
insert into tankcopy (name,num)
select product_namr,sum(product_numb)
from tank_info
group by product_namr;
select * from tankcopy ;
2、数据删除delete
drop table;
delete from 表名;
delete 执行的对象是行,不是表,注意与drop的区别;
delete from ** where condition;
特殊:
truncate 表名;
/*删除整张表中的数据,运行速度高于delete*/
3、数据更新update
update 属于DML语句。
update tankcopy
set num = '0001'
where num is null;
更新多列数据
注意清单化更新(类似于数组)或间隔逗号语句更新的区别;
4、其他笔记
本段转自其他博主,仅作个人学习用。
DDL和DML之间的主要区别在于:DDL有助于更改数据库的结构,而DML有助于管理数据库中的数据。
本质区别
DDL代表数据定义语言(Data Definition Language),是一种有助于创建数据库模式的SQL命令。而DML代表数据操作语言(Data Manipulation Language),是一种有助于检索和管理关系数据库中数据的SQL命令。
命令上的区别
DDL中常用的命令有:create,drop,alter,truncate和rename等等。而DML中常用的命令有:insert,update,delete和select等等。
影响上的区别
DDL命令会影响整个数据库或表,而DML命令会影响表中的一个或多个记录。
回滚上的区别
带有DDL命令的SQL语句是自动提交的,其更改将永久保存在数据库中,无法回滚。带有DML命令的SQL语句不会自动提交,其造成的变化不是永久性的,可以回滚。
————————————————
版权声明:本文为CSDN博主「做人,最重要的就是开心嘛」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/troubleshooter/article/details/121809847