重蔚自留地php学习第三十七天——mysql数据库范式的总结

关系:一对多,多对一,多对多,一对一

范式Normal Format

第一范式:原子性,字段不可再分割

第二范式:取消部分依赖,不使用复合主键,通常设计时使用逻辑主键

第三范式:取消传递依赖,将不同的实体创建不同表,需要使用实体关系的时候,使用对应的主键。

为了提高效率,会在设计数据表的时候刻意增加适当的数据冗余。逆规范化(效率与磁盘空间的对抗)。

外键foreign key

创建外键

创建表:foreign key(字段) references 表名(字段)

修改表:alter table 表名 add constraint 外键名 foreign key (字段) references 表名(字段)

外键约束:

子表不能插入父表不存在的数据

父表不能删除子表已经有指向的数据

外键约束模式

严格模式:restrict(默认的)

置空模式:set null

级联模式:cascade

foreign key(字段) references 表名(字段) on update 模式[cascade] on delete 模式[set null]

删除外键:alter table 表名 drop foreign key 外键名

高级数据操作

增加:蠕虫复制,主键重复(on duplicate key,replace)

删除:搭配order by和limit,truncate(充值表)

修改:搭配order by和limit

查询:select [select选项] 字段列表/表达式 [from子句] [where子句] [group by子句] [having 子句] [order by子句] [limit 子句]

字段和表名使用别名

where子句:运算结果通常是一个布尔结果,比较运算符和逻辑运算符

group by子句:分组统计

count:统计记录数,统计不为空的字段

max

min

avg

sum

多分组:group by 字段列表

回溯统计

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/10370.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
重蔚的头像重蔚管理团队
上一篇 2018年10月16日 00:00
下一篇 2018年10月17日 09:49

相关推荐

  • 经验分享mysql中两张表如何建立连接。

    在MySQL中,分页是一种常见的操作,它可以帮助我们在处理大量数据时更加高效地获取所需信息,两表分页是指在查询过程中涉及到两个表的连接操作,这种情况下实现分页可能会相对复杂一些,本文将详细介绍如何在MySQL…

    2024年6月20日
    03
  • 教你MYSQL神器无需INTO,轻松操作数据库。

    MySQL神器,如phpMyAdmin、Navicat等,提供了直观的图形界面,让用户轻松管理数据库。它们支持多种操作,如查询、编辑、备份等,无需编写SQL语句,简化了数据库操作流程。 MySQL是一个广泛使用的开源关系型数据库管…

    2024年6月26日
    01
  • 小编分享为啥香港服务器适合做数据库服务器呢。

    香港服务器适合做数据库服务器的原因可以从多个角度进行分析,包括地理位置、网络环境、法律政策以及技术基础设施等。 地理位置优势 香港地处亚洲的中心位置,具有非常低的延迟连接到周边的亚洲国家及地区,对于面…

    2024年7月20日
    02
  • 聊聊mysql连接池断掉怎么办。

    在现代Web应用程序中,数据库连接池是保持应用性能和响应速度的关键组件,MySQL连接池负责维护和管理到MySQL数据库的开放连接,以便应用程序可以快速获取和释放这些连接,有时连接池可能会中断,导致应用程序无法与…

    2024年7月16日
    00
  • 聊聊mysql保留小数点后两位。

    MySQL保留小数 在MySQL中,我们可以使用不同的数据类型来存储小数,以下是一些常用的数据类型以及它们的取值范围: 1. FLOAT:单精度浮点数,取值范围为-3.4E+38到3.4E+38之间。 2. DOUBLE:双精度浮点数,取值范围为…

    2024年6月19日
    00
  • MySQL Date 函数

    MySQL DATE_FORMAT() 函数 定义和用法 DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据。 语法 DATE_FORMAT(date,format) date 参数是合法的日期。(也可以一个日期格式的字段)format 规定日期/时间的输出格…

    2018年7月27日
    0201
  • 我来分享centos启动MySQL命令。

    在CentOS系统中启动MySQL,我们需要进行以下步骤: 1. 打开终端。 2. 我们需要检查MySQL服务是否已经安装,如果没有安装,我们可以使用yum命令进行安装。 3. 如果MySQL服务已经安装,我们可以使用systemctl命令来启…

    2024年6月16日
    00
  • mysql中删除表记录delete from和truncate table的用法区别

    昨天开发的时候遇到的问题,整理了一下,分享给大家,可以看看,有需要的话可以利用一下。 mysql中删除表记录delete from和truncate table的用法区别: MySQL中有两种删除表中记录的方法,一种是delete from语句,另…

    2018年4月13日
    0267

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息