数据库那点事(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;
2.逆序
select * from `group` order by max_size desc;
查询数量(limit)
/* 查询前两条数据 */select * from `group` limit 2;/* 查询从第2条开始,不包含这条,查询3条 */select * from `group` limit 2,3;
排序和查询数量组合
/* 查询组最多人数的最小两个组 */select * from `group` order by max_size limit 2;/* 查询组最多人数的最大两个组 ??? */
分组(group by)
1.group by一般与统计函数一起使用,注意使用这一关键字不能往查询数据中取单条数据中其他属性,除分组属性
2.常用的统计函数
- sum 求和
- max 最大
- min 最小
- avg 求平均
- count 数量
/* 根据最多人数进行分组,并查询其数量 */select max_size,count(*) from `group` group by max_size;
模糊查询(like)
_ 匹配任意一个字符
% 匹配任意一个或多个字符
/* 查询name中含有b的,很奇怪为什么这里代码不显示不一样颜色呢? */select * from `group` where name like '%b%';
/* 查询name中以z开头且只有两个字母? */select * from `group` where name like 'z_';
外键详解
子表插入数据
insert into member values('0001','零零一','abc001',1,'我是零零一');
我相信你肯定记得我们在**这个表里面group_id是一个外键
所有的group数据
insert into member values('0002','零零二','abc001',10,'我是零零一');
报错信息的大概意思就是:由于这个表中存在外键约束,且外键值非法
cascade,我相信这个的意思你肯定记得,如果不记得,请查看这一篇博客
插入了一些信息,便于测试
所有的member信息
现在试着对父表进行操作,看看子表会发现什么变化
1.更新
update `group` set id = 10 where name = 'modify';
子表的group_id也变化了
2.删除
delete from `group` where id = 1;
子表对应的数据也被删除了
下一篇博客将要介绍子查询
欢迎大家留言转载
关注微信公众号:SimFG,随时随地看博客要点
阅读全文
1 0
- 数据库那点事(Mysql)-5
- 数据库那点事(Mysql)-前传
- 数据库那点事(Mysql)-1
- 数据库那点事(Mysql)-2
- 数据库那点事(Mysql)-3
- 数据库那点事(Mysql)-4
- 数据库那点事(Mysql)-后续
- 数据库那点事(Mysql)-完
- 数据库抽取那点事
- mysql升级那点事
- 设计之前的数据库那点事
- 数据库的那点事(SQL)
- Spring Mvc那点事---(42)SSM使用log4j2记录日志到mysql数据库
- MySQL的timeout那点事
- mysql中事务处理那点事
- Mysql那点事之数据类型
- MySQL那点事之常见操作
- MySQL那点事之视图
- 关于QT5使用wamp的mysql连接问题
- c语言入门:c++运算符重载
- jquery ajax error函数和及其参数详细说明
- CSS总结-----定位与盒子图
- HDU1423 Greatest Common Increasing Subsequence(最长公共递增子序列)
- 数据库那点事(Mysql)-5
- github删除某个文件夹(文件)
- GCC/G++ + sublime text3 + powershell在windows使用指南
- 台湾大学机器学习基石lecture1小结
- 38. Count and Say
- ajax跨域,以及在laravel中实现跨域
- ArrayList的学习笔记
- JQuery实现注册表单页面 4 代码
- Shell脚本中获取本机ip地址的3个方法