【MySQL】数据库的 “红绿灯”:非空、主键、外键到底管什么?

【MySQL】数据库的 “红绿灯”:非空、主键、外键到底管什么?

表的约束:表中一定要有各种约束,通过各种约束,保证未来数据库中的数据的准确的;约束的本质是:通过技术手段倒逼程序员,插入正确的数据,进而保证数据库中的数据的正确的;

一、非空约束

两个值:null(默认的)和not null(不为空)

数据库默认字段基本都是字段为空,但是实际开发时,尽可能保证字段不为空,因为数据为空没办法参与运算。

null Vs '' 

null : 表示什么都没有;

'' :有,但是为空;

二、default 约束

default : 跟 C++ 的缺省值一样;

not null  and default:

注意:如果我们的表中没有设置 default 和 not null 约束,他默认 default null,如果设置了 not null 则不会有 default null;

三、comment 列描述

列描述跟注释没什么区别;

四、zerofill 约束

int(10) 没有 zerofill 约束是没有意义的:

相当于 int(10) 里面的 10 就是数字的长度,如果少于 10 个数字,用0来补充显示;

五、主键约束

主键:primary key用来唯一的约束该字段里面的数据,不能重复,不能为空,一张表中最多只能有一个主键;主键所在的列通常是整数类型。

去除主键约束:

添加主键约束:

复合主键:主键不是只能给一列设置,给多列设置主键的就是符合主键;

注意:复合主键只有设置有主键的那几列同时和过往的数据相同时就会产生主键冲突;

六、auto increment 约束

auto_increment:当对应的字段,不给值,会自动的被系统触发,系统会从当前字段中已经有的最大值+1操作,得到一个新的不同的值。通常和主键搭配使用,作为逻辑主键。

自增长的特点:

任何一个字段要做自增长,前提是本身是一个索引(key一栏有值)

自增长字段必须是整数

一张表最多只能有一个自增长

自定义自增长值:

查看最后一次的插入的自增长的值:

七、唯一键

主键不能为空,而唯一键可以为空,NULL 的意思的什么都没有,NULL 不参与计算;

注意:一张表中只能有一个主键,但是可以有多个唯一键;

八、外键

因为学生是从属于某个班级的,所以:

外键主要是:表与表之间的约束;

创建外键:

外键用于定义主表和从表之间的关系:外键约束主要定义在从表上,主表则必须是有主键约束或unique约束。当定义外键后,要求外键列数据必须在主表的主键列存在或为null。

Read more

Python基于Vue的”黄山旅游网站的设计与实现 django flask pycharm

Python基于Vue的”黄山旅游网站的设计与实现 django flask pycharm

这里写目录标题 * 项目介绍 * 项目展示 * 详细视频演示 * 感兴趣的可以先收藏起来,还有大家在毕设选题(免费咨询指导选题),项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人 * 技术栈 * 文章下方名片联系我即可~ * 解决的思路 * 性能/安全/负载方面 * python语言 * 框架介绍 * 技术路线 * 联系博主/招校园代理/同行合作交流 项目介绍 项目Python基于Vue的”黄山旅游网站的设计与实现 使用Python进行开发,数据库使用MySQL5.7,安装的时候直接使用pip install -r requirements.txt下载项目依赖的包,全程自动化配置,简单易上手。博主所有的项目都是亲测后发布的,所有项目具有展示效果和录像,如果不满意还可以根据要求进行个性化定制,所有项目都包远程安装和调试。项目的时间和题目都可以免费帮改成需要的 项目展示 项目编号:086 详细视频演示 请联系我获取更详细的演示视频 感兴趣的可以先收藏起来,还有大家在毕设选题(

By Ne0inhk
快速上手:在 Python 环境中安装与配置 Gurobi

快速上手:在 Python 环境中安装与配置 Gurobi

快速上手:在 Python 环境中安装与配置 Gurobi 一、Gurobi简介 Gurobi 是由美国 Gurobi Optimization 公司开发的一款高性能商业数学优化求解器,广泛应用于学术研究与工业领域。它能够高效求解以下类型的优化问题: * 线性规划(LP) * 整数规划(IP) * 混合整数规划(MIP) * 二次规划(QP) * 二次约束规划(QCP) * 非线性规划(部分支持,如含对数、指数、三角函数、分段函数等) 主要特点: * 求解速度快、精度高:在多项第三方评测中性能领先,曾于2010年超越 CPLEX 成为行业标杆。 * 多语言支持:提供 Python、C/C++、Java、.NET、MATLAB、R 等接口,其中 Python 接口(

By Ne0inhk

企业微信可信IP配置的Python完美解决方案

在企业微信开发中,配置可信IP是保障接口安全的关键步骤。但很多开发者会卡在一个前置要求上:配置可信IP需要先完成“可信域名”或“接收消息服务器URL”配置。如果手头没有备案域名,难道就只能止步于此? 最近看到一篇Java实现的无备案域名配置方案,核心思路是通过“接收消息服务器URL”验证替代可信域名,完美避开备案限制。今天就给大家带来这套方案的Python适配版本,从原理解析到代码实现,再到部署验证,一步到位帮你搞定! 一、方案核心逻辑:为什么可行? 先明确企业微信的规则:配置可信IP并非一定要备案域名,而是二选一——要么有可信域名,要么完成“接收消息服务器URL”配置。 这套方案的核心就是利用“接收消息服务器URL”的验证机制:企业微信会向你填写的URL发送验证请求,只要你的服务器能正确响应(完成签名校验和加密字符串解密),就算通过验证。通过后就能正常配置可信IP,全程无需备案域名,只需要一台有公网IP的服务器。 关键匹配点:Java版本用WXBizMsgCrypt工具类处理加密解密,Python中我们用pycryptodome库实现相同的AES加密解密逻辑,确

By Ne0inhk
基于大数据爬虫+Python+SpringBoot+Hive的网络电视剧收视率分析与可视化平台系统(源码+论文+PPT+部署文档教程等)

基于大数据爬虫+Python+SpringBoot+Hive的网络电视剧收视率分析与可视化平台系统(源码+论文+PPT+部署文档教程等)

博主介绍:ZEEKLOG毕设辅导第一人、全网粉丝50W+,ZEEKLOG特邀作者、博客专家、腾讯云社区合作讲师、ZEEKLOG新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文降重、长期答辩答疑辅导、腾讯会议一对一专业讲解辅导答辩、模拟答辩演练、和理解代码逻辑思路。 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟 2022-2024年最全的计算机软件毕业设计选题大全:

By Ne0inhk