重蔚自留地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

相关推荐

  • PHP与数据库调试的集成。

    随着互联网技术的快速发展,PHP成为了目前Web开发中最受欢迎的编程语言之一。PHP不仅具有易学易用、可扩展性强、社区活跃等优点,还能与各种数据库进行集成。然而,在实际开发过程中,调试PHP与数据库之间的交互问…

    2023年5月21日
    03
  • PHP与数据库Docker化的集成。

    随着云计算和容器化技术的飞速发展,越来越多的开发者开始将应用程序Docker化,以提高效率和便捷性。今天,我们将探讨如何将流行的开发语言PHP和数据库Docker化,以实现更高效和可移植的开发流程。一、什么是Docker…

    2023年5月21日
    02
  • 小编教你如何取消mysql密码。

    您可以使用以下两种方法取消MySQL的密码:,,1. 使用mysql命令:SET PASSWORD FOR root@localhost=PASSWORD (”);,2. 运行mysqladmin命令:mysqladmin -u root -p password ”。 MySQL简介 MySQL是一个…

    2024年7月9日
    05
  • 我来教你如何进行mysql字符集调整的示例分析。

    MySQL字符集调整是一个重要的数据库管理任务,它涉及到数据的存储、检索和显示,不同的字符集可能会导致数据丢失或者乱码,因此,我们需要定期进行字符集的调整,以确保数据的正确性和完整性,本文将通过一个示例来…

    2024年6月19日
    00
  • 我来教你MySQL报错:Error 1045(28000)的解决方法。

    简单介绍一下MySQL报错:Error 1045(28000) : user ‘root’@‘localhost’is denied access的解决方法: 服务启动之后,执行mysql -u root -p 报错:Error 1045(28000) : user ‘root’@‘localhost’is denied access Err…

    2024年6月13日
    01
  • 小编教你java怎么连接mysql。

    在Java中连接MySQL,需要使用JDBC(Java Database Connectivity)API。首先需要导入相关的库,然后创建一个数据库连接,通过这个连接可以执行SQL语句。 Java连接MySQL数据库是Java开发中常见的操作,下面将详细介绍…

    2024年7月23日
    04
  • 小编教你mongodb创建数据库。

    在MongoDB中,创建数据库是非常直接和简单的,你只需要使用`use`命令后跟你想创建的数据库的名字,如果数据库已经存在,这个命令不会有任何效果,如果数据库不存在,MongoDB会创建一个新的数据库。 以下是具体的步…

    2024年6月19日
    00
  • 关于织梦cms怎么安装,织梦网站怎么安装不了。

    织梦CMS(DedeCms)是一款非常流行的内容管理系统,它可以帮助用户轻松地创建和管理网站,本文将详细介绍如何安装和使用织梦CMS,以及如何将织梦CMS应用到网站上。 一、准备工作 1. 下载织梦CMS安装包 您需要从官方…

    2024年7月2日
    00

联系我们

QQ:951076433

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