返回顶部
首页 > 资讯 > 数据库 >结合实际应用总结mySql语句关键场景用法 - sun
  • 544
分享到

结合实际应用总结mySql语句关键场景用法 - sun

结合实际应用总结mySql语句关键场景用法-sun 2019-09-14 16:09:12 544人浏览 绘本
摘要

inner join,case when,concat 根据应用场景,不定时更新,欢迎大家把自己遇到的问题留言,稍后完善。 1 Mysql三范式 1.1 第一范式(1NF)   (必须有主键,列不可分)

结合实际应用总结mySql语句关键场景用法 - sun

inner join,case when,concat

根据应用场景,不定时更新,欢迎大家把自己遇到的问题留言,稍后完善。

1 Mysql三范式

1.1 第一范式(1NF)

  (必须有主键,列不可分)数据库表中的任何字段都是单一属性的,不可再分

1.2 第二范式(2NF)

  (当一个表是复合主键时,非主键的字段不依赖于部分主键(即必须依赖于全部的主键字段))

  数据库表中非关键字段对任一候选关键字段的 都 不存在部分函数依赖

1.3 第三范式(3NF)

  关系模式R(U,F)中的所有非主属性对任何候选关键字都不存在传递依赖

2 各种场景

2.1 批量更新表数据

  适用场景:将表table_a数据中字段a,批量更新到表table_b中。适用于表迁移。

  关键字:inner join

  sql语句:update table_a a   inner join table_b b on b.org_id=a.department_id   set a.department_short_name = b.short_name

  解释:table_a的department_id和table_b的org_id中值一样,需要将table_b 中idorg_id一样的short_name批量更新到table_a中。

2.2 条件语句,给字段重新赋值

  适用场景:每个枚举,返回对应的字符串

  关键字:case when x=y then e when x=z then f end

  sql语句:(case when a.status=1 then "申请中" when a.status=2 then "受理中" when a.status=3 then "已转账" when a.status=4 then "拒绝" end) as status

  解释:当status为1时状态为申请中,当status为2时状态为受理中,当status为3时状态为已转账,当status为4时状态为拒绝。

2.3 条件语句,给字段拼接字符

  适用场景:给字段拼接字符。

  关键字:concat

  sql语句:(case when a.type=0 then concat("-",a.score) else concat("+",a.score) end) as showscore

  解释:当type为0时score增加“-”前缀,当type为其他时score增加“+”前缀。

 

您可能感兴趣的文档:

--结束END--

本文标题: 结合实际应用总结mySql语句关键场景用法 - sun

本文链接: https://lsjlt.com/news/5524.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作