mysql表的增删改查方言


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

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

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

另外一种增加的方法

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


1,group by 可以升降序

select age from student
group 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 province

update student inner join province on student.stu_province = province.province
set student.stu_province=province.id

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

多表连接

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

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

//先找出重复记录,这里的id取小的那个
select min(id),name from student group by name having count(name)>1
//假设上面的表定义t2,为了使语句简单,下面直接使用t2
delete  t1 from A as t1  left join t2 on t1.name = t2.name 
where t1.id > t2.id
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值