重蔚自留地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学习第三十九天——mysql事物触发器函数过程

    数据备份 将数据里的数据进行保存到外部文件,从而在数据库内部数据丢失或者出错的情况下能够通过备份文件进行还原操作,从而将损失降低到最小。 对单表内的纯数据进行备份 将表中的数据(不包含结构,没有字段头信…

    2018年10月23日 MySQL自学教程
    0270
  • 使用PHP和MySQL进行数据备份的最佳实践。

    随着企业信息化水平的不断提高,数据备份已经成为了每个企业必须重视的问题。在备份数据的过程中,使用PHP和MySQL进行数据备份已经成为了备受推崇的最佳实践。PHP是一种开源服务器端脚本语言,其拥有简单易学、灵活…

    2023年5月28日
    03
  • 经验分享租用asp虚拟主机怎么搭建。

    什么是ASP虚拟主机? ASP虚拟主机,全称为Active Server Pages虚拟主机,是一种基于ASP技术的虚拟主机解决方案,它将一个物理服务器划分为多个逻辑服务器,每个逻辑服务器都可以运行独立的ASP程序,用户可以根据自…

    2024年7月22日
    06
  • 今日分享MariaDB管理命令有哪些。

    MariaDB是一种流行的开源关系型数据库管理系统。以下是一些常用的MariaDB管理命令: ,,- 连接到MariaDB服务器:mysql -u -p,- 创建数据库:CREATE DATABASE ;,- 删除数据库:DROP DATABASE ;,- 查看所有数据库…

    2024年7月4日
    02
  • 教你甲骨文免费vps。

    【甲骨文免费vps】,这是一个非常有趣的话题,在这篇文章中,我将为您介绍什么是甲骨文免费VPS以及如何使用它。 什么是甲骨文?甲骨文是中国古代的一种文字,用于商代晚期至西周早期的卜辞、铭文等记录,它是中国历…

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

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

    2024年7月23日
    04
  • 教你怎么重新配置mysql服务器。

    您可以使用以下方法重新配置MySQL服务器:使用SET语句修改配置项,也可以使用命令行工具实现配置项重载,还可以通过SIGHUP信号让MySQL重新读取配置文件。 MySQL服务简介 MySQL是一个关系型数据库管理系统,由瑞典My…

    2024年7月25日
    03
  • 聊聊Android内置SQLite的使用详细介绍。

    Android内置了SQLite数据库,可以通过SQLiteOpenHelper类来创建和操作数据库。 Android内置SQLite的使用详细介绍 SQLite是一个轻量级的数据库,它被广泛应用在各种移动设备上,在Android中,我们可以直接使用SQLite…

    2024年7月9日
    01

联系我们

QQ:951076433

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