Mysql----表的约束


提示:以下是本篇文章正文内容,下面案例可供参考

一、表的约束

表的约束:表中一定要有约束,通过约束让插入表中的数据是符合预期的。它的本质是通过技术手段,让程序员插入正确的数据,约束的最终目标是保证表的完整性和可预期性。

(1)null 和not null:

只要设置了not null.插入的数据就不可以为空。

(2)default:

默认:如果用户没有插入数据,就使用默认的,如果用户插入了数据,就用用户的。

如果既设置not null 和 default  ,它们之间是互补关系。对于not null来说,要么用户插入合法数据,要么插入null.由于是not null,插入null报错。如果用户忽略不插入,就使用default默认的值,没有default就报错。

需要要注意的是:如果我们没有not null ,mysql会设置default 为空。反之设置了not null 就不是在了。

(3)comment

描述:

 desc t4.查询是不显示的,除非查询表的创建语句

(4) zerofill

修改表的属性,格式化显示。

 

int(10)括号这个数字代表,如果输入的数字没有占10位它就会用0来填充,前提是用zerofill来修饰了,如果没有zerofill,int(10)和int没区别。

 

当然如果你设置int(11)mysql认为你这个int类型是有符号类型。int(10)就是无符号类型的。

(5)key

主键,标识唯一同时一个表中只要一个主键。既然是唯一的,如果重复就不让你插入了 。

1.我们可以在建表之后再添加主键

2.建表的时候,添加主键

3.删除主键

(6)复合主键:primary key

在创建表的时候,在所有字段之后,使用primary key(主键字段列表)来创建主键,如果有多个字段作为主键,可以使用复合主键。注意的是,主键只有一个。

以下例子,设置了id和name构成主键,由于唯一性,再次插入就触发。

(7)自增长:auto_cretement

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

使用:1 .必须和primary key 搭配使用  2.字段是整型 3.一个表中只能有一个自增长

那么它是怎么知道每次从哪开始自增的,表会记录,通过查看表语句

 (8)唯一键:unique

唯一键和主键一样,标识唯一。不过unique可以为空,主键不为空。

一张表中有往往有很多字段需要唯一性,数据不能重复,但是一张表中只能有一个主键:唯一键就可以解决表中有多个字段需要唯一性约束的问题。

(9)外键

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

语法:foreign key (字段名) references 主表(列)

1.建主表

2.建立从表

插入数据,主表和从表是互相约束的。这里的插入class_id必须是myclass中存在的或者class_id

暂时为空。又或者如果对myclass表进行删除等操作,除非stu表中已经没有和class表关联了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/860157.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java | Leetcode Java题解之第189题轮转数组

题目: 题解: class Solution {public void rotate(int[] nums, int k) {k % nums.length;reverse(nums, 0, nums.length - 1);reverse(nums, 0, k - 1);reverse(nums, k, nums.length - 1);}public void reverse(int[] nums, int start, int end) {whil…

【机器学习】图神经网络(NRI)模型原理和运动轨迹预测代码实现

1.引言 1.1.NRI研究的意义 在许多领域,如物理学、生物学和体育,我们遇到的系统都是由相互作用的组分构成的,这些组分在个体和整体层面上都产生复杂的动态。建模这些动态是一个重大的挑战,因为往往我们只能获取到个体的轨迹数据,而不知道其背后的相互作用机制或具体的动态…

Shardingsphere-Proxy 5.5.0数据迁移

Shardingsphere-Proxy 5.5.0数据迁移 Shardingsphere系列目录:背景配置集群部署搭建Zookeeper修改shardingsphere-proxy配置重启shardingsphere-proxy 执行数据迁移连接代理数据库实例(Navicate)应用代理数据库注册目标分片数据库存储单元创建…

el-dialog弹框全局增加可拖拽指令

一、需求弹框可以任意拖拽位置,并且关闭重置不影响下一个弹框出现的位置 首先建的新的js文件draggable.j s具体位置随意 // draggable.js export default {bind(el, binding, vnode) {const dialogHeaderEl = el.querySelector(.el-dialog__header);const dragDom = el.quer…

composer 安装如何彻底删除

举例 安装的composer require php-ffmpeg/php-ffmpeg包 1.通过 Composer 移除包 composer remove php-ffmpeg/php-ffmpeg 2.清理 Composer 缓存(可跳过) composer clear-cache 3.删除 Composer 生成的文件(可选) 某些…

如何将图片旋转任意角度?这四种方法轻松将图片旋转至任意角度!

如何将图片旋转任意角度?当我们涉及到图片时,常常会面临角度不佳的挑战,这一问题可能会给我们带来一系列不便,让我们深入探讨这些挑战,并探寻解决之道,首先,错误的角度可能导致视觉失真&#xf…

SaaS产品管理指标

在SaaS(软件即服务)领域,产品管理是一项关键任务。有效的管理不仅可以提升用户体验,还能驱动业务增长和收入提升。本文将探讨SaaS产品管理中常见且重要的管理指标,帮助产品经理们更好地理解和应用这些指标来优化产品性…

<sa8650>QCX—如何使用 CCI 调试器

<sa8650>QCX—如何使用 CCI 调试器 一、 前言二、 使用 qcxserver 运行 CCI 调试器2.1 单寄存器读取命令2.2 寄存器连续读取2.3 写入命令2.4 解析文件中的ccidbgr命令2.4 -help 参数2.5 检查 I2C 上的活动设备三、 运行单机版 ccidbgr3.1 单寄存器读取命令3.2 解析文件中的cc…

审稿意见回复信英文模板

以下是一个常用的英文审稿意见回复信模板,包含一些常见的语料总结,供你参考: 审稿意见回复信模板 Dear [Editor’s Name], Re: Manuscript ID [Manuscript ID] titled “[Title of the Manuscript]” We sincerely appreciate the time an…

C语言 scanf混合输入

一、hello gcc hello.c -o main.o 生成main.o文件 gcc hello.c 生成 a.out 执行 ./main.out 或者 ./a.out 运行程序 #include "stdio.h"int main() {printf("hello\n"); } 运行结果 sumuchenchem4111 Ccode % gcc hello.c -o main.out sumuchench…

Vuex详解:Vue.js 状态管理库的完整指南

引言 在Vue.js应用程序开发中,状态管理是一个关键问题。随着应用程序规模的扩大,组件之间的状态共享和管理变得尤为重要。Vuex作为官方推荐的状态管理工具,为解决这些问题提供了一种优雅而强大的解决方案。本文将深入探讨Vuex的各个方面&…

计算机Java项目|基于SpringBoot的音乐网站

作者主页:编程指南针 作者简介:Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容:Java项目、Python项目、前端项目、人工智能与大数据、简…

新的应用场景与创新可能性”。

随着GPT-5的即将登场,我们的工作和日常生活将发生怎样的变化?它将带来哪些新的应用场景和创新可能性?我们又该如何准备迎接这一新的技术变革?  在OpenAI首席技术官米拉穆拉蒂的采访中,她明确表示GPT-5将在一年半后发…

Linux Nginx 服务设置开机自启动

文章目录 前言简介一、准备工作二、操作步骤2.1 先创建开机自启脚本2.2 设置文件权限2.3 设置开机自启动2.4 验证2.5 常用命令 总结 前言 请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i、 提示:以下是本篇文章正文内容&#xff0c…

【SQL Server数据库】带函数查询和综合查询(1)

目录 1.统计年龄大于30岁的学生的人数。 2.统计数据结构有多少人80分或以上。 3.查询“0203”课程的最高分的学生的学号。 4.统计各系开设班级的数目(系名称、班级数目),并创建结果表。 5.选修了以“01”开头的课…

富格林:躲闪黑幕有效规划出金

富格林认为,现货黄金拥有诸多其他投资品种所无法比拟的交易优势,也正是如此,如今越来越多投资者相继涌入现货黄金投资市场中。但不少新手投资者发现了一些问题,自己做的单子为何无法盈利出金?这其中是否存在什么背后黑…

C语言入门课程学习笔记9:指针

C语言入门课程学习笔记9 第41课 - 指针:一种特殊的变量实验-指针的使用小结 第42课 - 深入理解指针与地址实验-指针的类型实验实验小结 第43课 - 指针与数组(上)实验小结 第44课 - 指针与数组(下)实验实验小结 第45课 …

AI入门:AI发展势头这么猛,你在哪个阶段,落后了吗

生活的各方面都在发生着各种变化,笔者的教育生涯伴随着考试分数和排名,但现在的小学已经不公开分数和排名了,高考都屏蔽分数防止炒作了。 个人认为这是一个好的现象,教育就应该只有一个单纯的目的,那就是培养学生如何…

什么是滑动窗口?

滑动窗口(Sliding Window)是一种用于管理和处理数据流的技术,通过在数据流上定义一个固定大小的窗口,从而实现高效的数据处理、传输控制和资源管理。这种技术广泛应用于计算机网络、算法设计、图像处理等领域。 一、滑动窗口的基…

2024上海MWC 参展预告 | 未来先行,解锁数字化新纪元!

一、展会介绍——2024世界移动通信大会 2024年世界移动通信大会上海(MWC上海)将于6月26日至28日在上海新国际博览中心举行。 本届大会以“未来先行(Future First)”为主题聚焦“超越5G”、“数智制“人工智能经济’造”三大热点话题。届时将在包括超级品牌馆(Super Hall)在内…