2020/01/21 05-CRUD和分页排序去重聚合分组及子查询

在这里插入图片描述
关系在关系型数据库中吗,就是二维表
选择selection:称为限制,是从关系中选择出满足给定条件的元组。
投影projection:在关系上投影就是从选择出若干属性列组成新的关系。
链接join:将不同的两个关系链接成一个关系。

在这里插入图片描述
一般有时候交给ORM做,但是还是需要自己了解
在这里插入图片描述
在这里插入图片描述
在表里新加入一条记录
在这里插入图片描述
查询出来的内容插入
在这里插入图片描述
往表里插入对应的值,当键重复了,DUPLICATE key 就改为更新,当主键或者唯一键冲突,将原来的插入新的,变为更新动作在这里插入图片描述
往user表里插入数据
在这里插入图片描述
创建一个索引
在这里插入图片描述
唯一键会生成唯一键索引在这里插入图片描述
怕出问题,就反引号括一下在这里插入图片描述
现在数据就有了。password也是用的明文 在这里插入图片描述
删除唯一键约束
在这里插入图片描述
再次执行
在这里插入图片描述
除了主键其他都一样
在这里插入图片描述
现在再次添加唯一键索引
在这里插入图片描述
显示loginname重复
在这里插入图片描述
修改数据

在这里插入图片描述
再次保存就不报错了
在这里插入图片描述
再次插入唯一键冲突
在这里插入图片描述
可以加 ON DUPLICATE KEY update出现这样的情况就update loginname=‘jerry’
在这里插入图片描述
插入数据冲突了,转而不insert,改为update
在这里插入图片描述
现在实施插入不进去,把name更新在这里插入图片描述
成功了
在这里插入图片描述
这种语句用的很多
在这里插入图片描述在这里插入图片描述
受影响0行,加个ignore,=忽略,能插入成功就插入成功,失败就不重复插入了,这是比较常用的用法在这里插入图片描述update语句不加where会出大事

在这里插入图片描述
delete语句几乎不用,现在都是假删除,打标签
在这里插入图片描述
在这里插入图片描述
经常用的,for update |lock in share mode是要不要加锁的问题在这里插入图片描述
查询会返回一个结果集recordset,用一个数据结构,把查询到的数据装载到里面
在这里插入图片描述在这里插入图片描述
一般不这么做,对于大数据的表,就比较不合适在这里插入图片描述在这里插入图片描述
说明在sql中加号不是用来做字符串+的,是数字加的,会把字符串隐式转换成数字在这里插入图片描述
使用concat
在这里插入图片描述
可以加空格
在这里插入图片描述
这样列名就变了,这就是别名
在这里插入图片描述as关键字可以拿掉,好的习惯是as加上去,并且反斜杠去除歧义在这里插入图片描述美化sql就有大写了在这里插入图片描述在这里插入图片描述
只显示开始5条
在这里插入图片描述
想要从6行开始,偏移后5个,这是最方便的在这里插入图片描述
在知道列的情况下可以这么写在这里插入图片描述
也可以这么写
在这里插入图片描述
**从第10个开始偏移5个,从几开始偏移几个
**在这里插入图片描述
limit往往用在分页上,数据集太大,一定要分页

在这里插入图片描述
like的通配符就两个。%任意多个字符,_代表一个,like子句有性能问题,不使用索引,大量IO,最好用搜索引擎
在这里插入图片描述
**逻辑上有短路,就可以让它尽早短路提高性能 **
在这里插入图片描述
建议使用括号,防止出现错误在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
默认升序
在这里插入图片描述
优先使用第一个字段排序,排完序,第1个字段有相同的时候,birth_data一样,就比第二个字段emp_no谁大谁小
在这里插入图片描述
也可以指定第二个字段的排序方式,排序好数据给用户

在这里插入图片描述
在这里插入图片描述
这张表重复的东西比较多
在这里插入图片描述在这里插入图片描述
去重要么是数据库做,要么是python程序进程来做

类似联合主键,把两列联合起来了
在这里插入图片描述
这个是联合主键,两个字段结合起来表现为1,所以上面对着两行去重没有意义
在这里插入图片描述在这里插入图片描述
先去重再计算有多少行
在这里插入图片描述
先去重,再平均
在这里插入图片描述在这里插入图片描述
聚合是把这么多行数据产生一个数据出来 在这里插入图片描述
在这里插入图片描述
emp_no有40几行,但是后面的字段都被聚合了,就把emp_no其中的一个拿出来了
在这里插入图片描述
发过薪水的人,总计发了多少
在这里插入图片描述
这两列都是爱谁谁,sql server 这个语法是错误的
在这里插入图片描述
平均工资大于4.5万的拿出来
在这里插入图片描述在这里插入图片描述
可以使用别名在这里插入图片描述
也可以limit
在这里插入图片描述
也可以offset
在这里插入图片描述
子查询是嵌套查询,内部查询在这里插入图片描述
有些时候比较麻烦必须先写个子查询 在这里插入图片描述在这里插入图片描述
这两种子查询用的很多,一种是当临时表来用,一个是作为结果集给其他表作为数据源的

发布了145 篇原创文章 · 获赞 5 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_42227818/article/details/104062891