数据库那点事(Mysql)-5

本文回顾了MySQL的基础操作,包括查询、添加、修改和删除,并深入探讨了复杂查询,如排序、限制查询数量、分组及模糊查询。重点讲解了外键的概念,举例说明了外键如何影响子表数据的插入、更新和删除,为读者提供了对外键操作的清晰理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前期回顾

(?表示根据自己实际情况进行填写)

  • 查询
    select * from ?;
  • 添加
    insert into ? values(?);

    insert into ? (?) values (?);
  • 修改
    update ? set name = ? where ?;
  • 删除
    delete from ? where ?;

    delete from ?;
  • 条件编写

1.where 关键字后面跟的便是查询条件,多个查询条件如果需要同时满足则用 and 连接,满足一个则用 or 连接,否定则是 not;

    select * from ? where ? and ?;

    select * from ? where ? or ?;

    select * from ? where not ? ;

2.字母表排序查询,也可以用大于小于号,如name>’a’;

    select * from ? where ? > ?;
  • 查询列自定义

1.select关键字后面的*,表示查询表中的所有列

   select * from ?;

2.选取数据表部分列

   select id, name from ?;

3.自定义列名

   select id i,name n from ?;

复杂查询


排序(order by)

1.默认是递增顺序

select * from `group` order by max_size;

a

2.逆序

select * from `group` order by max_size desc;

b

查询数量(limit)

/* 查询前两条数据 */
select * from `group` limit 2;

/* 查询从第2条开始,不包含这条,查询3条 */
select * from `group` limit 2,3;

d


c

排序和查询数量组合

/* 查询组最多人数的最小两个组 */
select * from `group` order by max_size limit 2;

/* 查询组最多人数的最大两个组 ??? */

ff

分组(group by)

1.group by一般与统计函数一起使用,注意使用这一关键字不能往查询数据中取单条数据中其他属性,除分组属性

2.常用的统计函数

  • sum 求和
  • max 最大
  • min 最小
  • avg 求平均
  • count 数量
/* 根据最多人数进行分组,并查询其数量 */
select max_size,count(*) from `group` group by max_size;

assa

模糊查询(like)

_ 匹配任意一个字符
% 匹配任意一个或多个字符

/* 查询name中含有b的,很奇怪为什么这里代码不显示不一样颜色呢? */
select * from `group` where name like '%b%';

abs

/* 查询name中以z开头且只有两个字母? */
select * from `group` where name like 'z_';

absb

外键详解

子表插入数据

insert into member values('0001','零零一','abc001',1,'我是零零一');

gh

我相信你肯定记得我们在**这个表里面group_id是一个外键


所有的group数据
abbs

insert into member values('0002','零零二','abc001',10,'我是零零一');

abab

报错信息的大概意思就是:由于这个表中存在外键约束,且外键值非法

cascade,我相信这个的意思你肯定记得,如果不记得,请查看这一篇博客


插入了一些信息,便于测试
所有的member信息
alal

现在试着对父表进行操作,看看子表会发现什么变化
1.更新

update `group` set id = 10 where name = 'modify';

akaka
akksa

子表的group_id也变化了


2.删除

delete from `group` where id = 1;

akskla

子表对应的数据也被删除了


下一篇博客将要介绍子查询


欢迎大家留言转载
关注微信公众号:SimFG,随时随地看博客要点
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值