04 mysql表的增删改查

来源:互联网 发布:矩阵乘积求导法则 编辑:程序博客网 时间:2024/06/07 00:46


mysql除了sql标准的增加,还提供了另外一种增加的方法

insert into student set stu_name='xxoo',stu_age=23;

这种方式的扩展应用是可以在等号后面加子查询。

另外一种增加的方法

insert into student select *******;


1,group by 可以升降序

select age from studentgroup by stu_age desc;

2,limit 子句

limit 5;//limit 5,10;//offset 为5,查10个  mysql的offset是从0开始

3,子查询

select * from students where stu_age> any(    select stu_age from students where stu_name='张三')

如果子查询结果不止一个,那么就必须在查询前面加关键字,包括any,all,some
any:符合一个就可以
all:要全部符合


有这么个场景,有张学生表,有个字段叫stu_province。后来想做张province表,要求两张表中的数据要一致。

insert into province(province)select stu_province from student group by provinceupdate student inner join province on student.stu_province = province.provinceset student.stu_province=province.id

连接
分为内连接跟外连接,其中外连接又分为左外连接跟右外连接。
内连接就是求交集,外连接就是求并集。

多表连接

select * from A join B on A.id=B.idjoin C on A.id=C.id

单表删除重复记录,涉及到表的自连接

//先找出重复记录,这里的id取小的那个select min(id),name from student group by name having count(name)>1//假设上面的表定义t2,为了使语句简单,下面直接使用t2delete  t1 from A as t1  left join t2 on t1.name = t2.name where t1.id > t2.id
原创粉丝点击