MySQL:约束主键唯一键

表的约束:表中一定有约束,通过约束让插入表中的数据是符号预期的
约束的本质是通过技术手段,倒逼程序员插入正确的数据

Null约束

在这里插入图片描述
这里的Null表示在插入的时候,该属性能否为空,如果是NO,则插入时候必须有数据

create table t1(
id int not null
);

  • 该语句显示出来就是NO

default约束

create table t1(
id int not null
age tinyint default 18,
);
insert into t1 (id) values (‘张三’);

id不能插null,age可以插null,如果插入时候省略age,默认age是18
not null default,default不为空就行

列描述

create table t1(
id int not null comment ‘用户id号’
age tinyint default 18,
);
这就是一个单纯的注释

zerofill

上图中,int括号中的数字是11,并且有zerofill修饰时,存储某个数的长度不够11位就用0填充
int最大取值范围是21亿多,共10位,另一位是符号位

主键

一张表有一列信息标定数据的唯一性
主键只有一个,要么没有
一个主键可以被添加到一列,或者多列上
primary key修饰
在这里插入图片描述
alter table 表名 add primary key (字段)
alter table 表名 drop primary key

create table t2(
id int,
name varchar(20) not null,
primary key(id, name)
);

  • id和name合起来是一个主键
    也就是插入的时候,id和name不能同时一样

自增长

create table t2(
id int primary key auto_increment,
name varchar(20) not null
);
在这里插入图片描述

默认从1开始插入

唯一键

与主键功能类似,插入时值可以为NULL
主键用来标记某个属性在整张表中的唯一性
唯一键用来保证同一列的值之间不会重复,也是一种唯一性

create table t4(
id int unique,
name varchar(20) not null
);
在这里插入图片描述

主键和唯一键两者都有唯一性

一个列设置成主键,但是其他列也需要有唯一性
例如:每个人身份证号是主键,但是每个人的电话号码也需要唯一性保证

外键

用于主表和从表的关系
外键一般都在从表中,用于和依附主表中的某一列(该列是被主键和唯一键修饰的)

create table student(
id int primary key,
name varchar(20),
tel char(11) unique,
class_id int,
foreign key(列名) references 主表名(主表中的某一列)
);

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《Effective C++》《Resource Management》

文章目录 13、term13:Use objects to manage resources14、term14:Think carefully about copying behavior in resource-managing classes15、term15:Provide access to raw resources in resource-managing classes法一: 使用智能指针的get进行显示转换法二&#…

第11课 实现桌面与摄像头叠加

在上一节,我们实现了桌面捕获功能,并成功把桌面图像和麦克风声音发送给对方。在实际应用中,有时候会需要把桌面与摄像头图像叠加在一起发送,这节课我们就来看下如何实现这一功能。 1.备份与修改 备份demo10并修改demo10为demo11…

Python数据分析从入门到进阶:分类算法

数据分析是处理和解释数据以发现有用信息和洞察的过程。其中,分类算法是数据分析领域的一个重要组成部分,它用于将数据分为不同的类别或组。 本文将介绍分类算法的基本概念和进阶技巧,以及如何在Python中应用这些算法,包括示例代…

01.微服务架构优缺点、服务拆分和远程调用

1.认识微服务 随着互联网行业的发展,对服务的要求也越来越高,服务架构也从单体架构逐渐演变为现在流行的微服务架构。这些架构之间有怎样的差别呢? 1.0.学习目标 了解微服务架构的优缺点 1.1.单体架构 单体架构:将业务的所有…

企业招聘信息查询API:招聘市场情报站,一键了解就业机会

前言 在当今这个信息爆炸的时代,快速、准确地获取企业招聘信息对于求职者来说至关重要。为了满足这一需求,企业招聘信息查询API应运而生,它为求职者提供了一个便捷、高效的平台,帮助用户快速了解企业的招聘动态。本文将详细介绍企…

众和策略:全国期货市场成交量同比增长25%

近来,我国期货业协会发布2023年12月全国期货商场生意状况数据。以单边核算,12月全国期货生意商场成交量为6.91亿手,成交额为480437.25亿元,同比分别添加4.48%和0.08%,环比分别下降12.58%和12.49%。2023年1-12月&#x…

AI写作生成器哪个好用一点,试试下面这五款

AI写作生成器在当今信息时代的快速发展中,成为了许多人的选择。然而,面对市场上众多的AI写作生成器,我们很难判断哪个更好用一点。为了解决这个问题,本文将介绍并使用下面这五款AI写作生成器,以帮助大家做出更明智的选…

使用 SpringSecurity 发送POST请求出现 403

问题场景 在使用 SpringSecurity 时对一些访问权限进行了设置, 在用户请求资源时出现了403错误 , 通过检查代码发现请求权限是开放的, 并且切换成 GET 请求也是可以通过, 换成POST 请求就无法通过。 解决方法 在 SpringSecurity 中关闭 CSRF 因为 前端向后台发送 post 请求…

【kettle】pdi/data-integration 打开ktr文件报错“Unable to load step info from XML“

一、报错内容: Unable to load step info from XML step nodeorg.pentaho.di.core.exception.KettleXMLException: Unable to load step info from XMLat org.pentaho.commons.launcher.Launcher.main (Launcher.java:92)at java.lang.reflect.Method.invoke (Met…

2023年终总结(脚踏实地,仰望星空)

回忆录 2023年,经历非常多的大事情,找工作、实习、研究生毕业、堂哥结婚、大姐买车、申博、读博、参加马拉松,有幸这一年全家人平平安安,在稳步前进。算是折腾的一年,杭州、赣州、武汉、澳门、珠海、遵义来回跑。完成…

rotate-captcha-crack项目重新训练百度旋转验证码角度预测模型

参考: building-powerful-image-classification-models-using-very-little-data.html https://github.com/Starry-OvO/rotate-captcha-crack (主)作者思路:https://www.52pojie.cn/thread-1754224-1-1.html 纠正 新版百度、百家…

晨控 CK-FR08-A01 与汇川 H5U 系列 PLC 通讯手册

晨控 CK-FR08-A01 与汇川 H5U 系列 PLC 通讯手册 准备阶段 软件 : AutoShop PLC : H5U-1614MTD-A8 读写器: CK-FR08-A01 交换机: 标准POE交换机 电源 : 24V直流电源 简介 CK-FR08-A01 是一款基于射频识别技…

C语言实用第三方库Melon开箱即用之多线程模型

在之前的文章中(开发利器——C 语言必备实用第三方库),笔者介绍了一款Linux/UNIX下C语言库Melon的基本功能,并给出了一个简单的多进程开箱即用的例子。 本文将给大家介绍Melon中多线程的使用方法。 在Melon中有三种多线程模式&a…

Kodi 开源多媒体播放器

Kodi (原名 XBMC) 是一款经典开源免费、跨平台且极其强大专业的多媒体影音播放器,包含专业的影音内容管理以及解码播放功能于一体,提供适合在手机/电视/投影/大屏幕上显示的全屏界面,无线手机遥控操作方式,以及功能相当丰富的插件…

第三部分使用脚手架:vue学习(66-69)

文章目录 66.props配置67 mixin混入68 插件69 scoped样式 66.props配置 props配置,说白了就是调用子组件,传参数用的。 父组件的写法:传参。传参必须加引号,否则报错。 子组件的写法:接收。接受有3种方式&#xff0c…

【观察】Aginode安捷诺:坚守“长期主义”,服务中国数字经济

毫无疑问,随着整个社会加速数字化转型,尤其是5G、人工智能、大数据等技术兴起,以及智慧医疗、智慧金融、智能制造等应用加速落地,算力网络在经济社会发展中扮演了愈来愈重要的角色,成为支撑数字经济蓬勃发展的“新引擎…

快手推荐算法工程师三面回顾

快手三次技术面试一次HR面试的简单回顾,希望对大家有所启发。 一面 面试官一上来就让写算法题,第一个是计算岛屿数量,第二个是最长回文字串。 然后就是介绍自己的论文。对于论文的工作,面试官只是在问关于论文的问题&#xff0…

STM32F4XX使用SWO实现printf功能

一 名词说明 SWO:Serial Wire Output,串行线输出 ITM:Instrumentation Trace Macrocell,仪器跟踪宏单元二 使用软件 1 keil 2 JLinkSWOViewer三 swo实现代码 #include "stm32f4xx_hal.h" #include "stdio.h&quo…

babel执行流程

babel简单执行流程 为了验证方便 这边 使用的命令是 babel src/index.js --out-file lib/index.compiled.js,这样可以定位 babel 中的files.js 相对目录比较简单 执行scripts 中的 build 命令 执行 package.json 中的scripts 命令 <!-- package.json 中的命令 -->"…

一款适用于低功耗应用 高效降压转换器TPS62621YFFR 基本原理及主要参数介绍

TPS62621YFFR提供针对电池供电的便携式应用优化的高频同步降压DC/DC转换器。适用于低功耗应用&#xff0c;支持高达600毫安的负载电流&#xff0c;并允许使用低成本的芯片电感器和电容器。 该设备具有2.3 V至5.5 V的宽输入电压范围&#xff0c;支持由具有扩展电压范围的锂离子…