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

相关推荐

  • 租用服务器VPS能做什么。

    租用服务器VPS可以实现多种功能。它可以作为从空间到服务器的过渡工具,尽管稳定性一般。通过远程登录,用户可以在VPS上进行与电脑类似的操作,如安装程序、复制图片等。VPS还常被用于建立下载站,因为其虚拟化特性…

    2024年7月14日
    00
  • 数据库的库操作

    库:存储数据的仓库--起名称 表:存储数据的表,一个库可以创建多个表--起名称 字段:给表中的数据起名称 记录:具体一条数据 1.创建数据库 语句:create database 数据库名 库选项; 库选项:字符集、校对集 2.查询…

    2017年11月21日 MySQL自学教程
    0175
  • 关于mysql时间戳是什么意思。

    MySQL时间戳是一种数据类型,用于存储日期和时间信息。有两种形式:1、TIMESTAMP类型,占用4个字节的存储空间,存储的值会根据时区进行转换,存储为UTC,时间戳的值是可以自动更新的;2、DATETIME类型,占用8个字节…

    2024年7月27日
    00
  • 说说谷歌云免费一年后怎么收费。

    谷歌云免费一年:让您的业务更上一层楼 随着互联网的快速发展,企业对于数据存储和处理的需求越来越高,为了满足这一需求,谷歌云推出了一项令人兴奋的优惠活动:免费使用谷歌云服务一年!本文将详细介绍如何充分利…

    2024年6月20日
    00
  • PHP+Mysql+jQuery实现对当前在线用户数统计方法(附代码)

    我们要统计在一段时间内访问站点的人数,有多种解决方案,你可以使用cookie,session结合文本或者数据库来记录用户访问数。本文将使用PHP,结合Mysql以及jQuery,展示一个统计在线人数以及访客地区分布的示例。 通…

    2018年8月27日
    0234
  • 说说mysql怎么删除数据库命令。

    在MySQL中,删除数据库的操作可以通过`DROP DATABASE`语句来实现,这个操作会删除整个数据库及其包含的所有表、视图、存储过程等对象,请注意,这是一个不可逆的操作,所以在执行前请确保已经备份好重要数据。 以下…

    2024年6月19日
    00
  • 分享探索MySQL中上月的高级函数。

    在MySQL中,要探索上月的数据,可以使用DATE_SUB()和LAST_DAY()函数结合WHERE子句来实现。 MySQL中上月的高级函数可以通过以下步骤实现: 1. 获取当前日期 在MySQL中,我们可以使用CURDATE()函数来获取当前日期。 …

    2024年6月26日
    00
  • 经验分享jdbc怎么连接mysql数据库。

    要使用JDBC连接MySQL数据库,您需要下载并安装MySQL的JDBC驱动程序。您可以使用Java代码和JDBC驱动类连接到MySQL数据库。以下是一些步骤:,,1. 下载MySQL JDBC驱动程序。,2. 将JDBC驱动程序添加到Java项目的类路…

    2024年7月14日
    01

联系我们

QQ:951076433

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