重蔚自留地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是一个广泛使用的开源关系型数据库管理系统,它提供了许多强大的功能和灵活性,有时候我们可能会遇到一些错误,而MySQL默认情况下并不提供详细的错误信息,这可能会导致我们在解决问题时遇到困难,在本文中,…

    2024年6月20日
    00
  • 教你租个香港服务器。

    租用香港服务器,享受高速稳定网络连接和优质数据服务。 租用香港服务器搭建小说网站,需要选择适合的配置,以下是一些常见的配置建议: 1、服务器硬件配置:选择一台高性能的服务器,如 Intel Xeon 处理器、DDR4 …

    2024年7月16日
    01
  • 小编教你navicat基本操作。

    Navicat是一款强大的数据库管理工具,它提供图形界面用于轻松管理远程数据库。使用Navicat,我们可以进行连接数据库、操作数据库、导入备份、查询数据、修改用户信息等基本操作。它也支持查看数据库版本和SQL执行计…

    2024年7月5日
    01
  • 我来说说mysql数据库锁表怎么解决的。

    MySQL数据库锁表问题通常是由于多个事务竞争同一资源导致的,当一个事务获取了某个数据行的锁,其他事务就必须等待直到该行锁被释放,在某些情况下,这可能导致锁表现象,即整个表被锁定,其他事务无法访问表中的任…

    2024年7月13日
    02
  • 小编分享mysql 三表联合查询。

    在MySQL中,三表联查是一种常见的查询方式,它可以帮助我们将三个或更多的表的数据进行关联查询,这种查询方式可以让我们获取到更全面、更详细的数据信息,下面,我将详细介绍如何在MySQL中实现三表联查。 (图片来…

    2024年6月20日
    02
  • 我来分享创建nova数据库命令。

    在OpenStack中,Nova是负责计算服务的组件,它提供了创建、配置和管理虚拟机实例的功能,为了实现这些功能,Nova需要与数据库进行交互,存储和检索虚拟机实例的相关信息。 要增加数据库表isolated_schedule-opensta…

    2024年6月14日
    03
  • 小编分享mysql数据库在哪里打开。

    MySQL是一个开源的关系型数据库管理系统,它被广泛用于各种规模的应用程序中,在MySQL中,数据库是存储数据的基本单位,每个数据库都有自己的表、视图、索引等对象,MySQL的数据库在哪里呢? 我们需要了解MySQL的安…

    2024年6月28日
    01
  • 我来教你lnmp是什么意思。

    【lnmp是什么意思】:LAMP、Nginx、MySQL和PHP的组合,其中L表示Linux操作系统,M表示MySQL数据库,N表示Nginx Web服务器,P表示PHP编程语言,lnmp是Linux、Nginx、MySQL和PHP的缩写,这个组合是一种常见的Web服务…

    2024年6月18日
    01

联系我们

QQ:951076433

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