MySQL数据库 DML相关操作(数据增删改查相关sql)

DML:data manipulation language

一般CRUD

1.数据增加(insert)

insert into t_user(name,address) values('jwe','china');

2.数据删除(delete)

delete from t_user where id=5;

3.数据修改(update)

update t_user set name='xixi' where id=1;

4.数据查询(select)

  • 普通查询
select  name,address from t_user;
  • 去重查询
select distinct age from t_user;
  • 模糊查询
select * from t_user where name like '%to%';
  • 聚合查询
select max(age) from t_user;
  • 分组查询
select count(*),age from t_user group by age having count(*)>1;
  • 排序查询
select * from t_user order by age asc/desc;
  • 分页查询(物理分页)
# limit 2、4指索引(第3到第5个),左闭右闭
select * from t_user limit 2,4;

二:多表查询

查询的本质:从XX范围根据XX条件来查询XX目标

1.子查询

  • where型【查询条件】
select sno,cno from score where degree=(select max(degree) from score);
  • from型【查询范围】
  • exist型

2.连接查询

  • 根基:笛卡尔积 t1*t2 【查询范围】
  • 等值连接
from  t1, t2 where  t1.deptid = t2.id
  • 内连接
from  t1 inner join t2 on t1.x = t2.x
  • 左连接【表1为主表】
from t1 left join t2 on t1.x = t2.x
  • 右连接【表2为主表】
from t1 right join t2 on t1.x=t2.x

3.联合查询

  • 应用场景:
    要查询的结果来自于多个表,且多个表没有直接的连接关系,但查询的信息一致。

  • 条件:多条查询语句的结果可以合并成一张表(字段个数、类型一致)。

  • union查询:将多条查询语句的结果合并成一个结果(不包括重复数据)

SELECT * FROM employees  WHERE email LIKE '%a%'
UNION
SELECT * FROM employees  WHERE department_id>90;
  • union all查询:将多条查询语句的结果合并成一个结果(包括重复数据)
SELECT id,cname FROM t_ca WHERE csex='男'
UNION ALL
SELECT t_id,tname FROM t_ua WHERE tGender='male';

4.单表自连接

select * from t_user a,t_user b where a.deptid = b.id
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值