数据库那点事(Mysql)-5

来源:互联网 发布:java 解析swf 编辑:程序博客网 时间:2024/06/08 15:04

  • 前期回顾
  • 复杂查询
    • 排序order by
    • 查询数量limit
    • 排序和查询数量组合
    • 分组group by
    • 模糊查询like
  • 外键详解
    • 子表插入数据

前期回顾

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

  • 查询
    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,随时随地看博客要点
这里写图片描述

原创粉丝点击