MySQL基础(三)【约束】

第四章 汇川技术InoProShop入门之串口自由协议解读 摘要: 串口自由协议是工业自动化中针对特定需求设计的自定义通信协议,具有高度灵活性和针对性,适用于小型设备、实时控制等场景。其核心包括自定义帧结构(起始符、地址码、数据区、校验位等)和通信规则(波特率、交互机制)。相比标准协议,自由协议效率更高但兼容性弱,设计时需注重可靠性、效率和可扩展性,适用于定制化或高实时性需求,如传感器数据采集或老旧设备改造。典型应用需平衡精简帧结构与抗干扰能力,同时预留扩展空间。 阅读详情

MySql约束

补充一个mysql中约束和索引的关系!!

Content

概念:
对表中的数据进行限定,保证数据的正确性、有效性和完整性。
分类:

  1. 主键约束:primary key
  2. 非空约束:not null
  3. 唯一约束:unique
  4. 外键约束:foreign key

(一)非空约束:not null

		SELECT DATABASE();  -- 查看当前的数据库
		
		-- 1.创建表时添加约束
		CREATE TABLE stu(
			id INT,
			NAME VARCHAR(20) NOT NULL     -- name为非空
		);
		
		-- 2.创建表完了之后,添加非空约束
		ALTER TABLE stu MODIFY NAME VARCHAR(20) NOT NULL;
		
		-- 3.删除name的非空约束
		ALTER TABLE stu MODIFY NAME VARBINARY(20);  
		SELECT * FROM stu;

(二)唯一约束:unique

		DROP TABLE stu;  -- 删掉,重新建表
		
		-- 1.在建表时添加:唯一约束
		CREATE TABLE stu(
			id INT,
			phone VARCHAR(20) UNIQUE     -- 添加唯一约束,法一
		);
		
		-- 2.在建表完后,添加唯一约束:
		ALTER TABLE stu MODIFY phone VARCHAR(20) UNIQUE;   -- 此时也可以添加约束唯一,法二
		
		-- 3.删除唯一约束:(注意:和删除非空约束的方法不同)
		ALTER TABLE stu DROP INDEX phone ;

(三)主键约束:表中各记录的唯一标识,必须非空

		-- 1.创建表时,添加主键约束
		CREATE TABLE stu(
			id INT PRIMARY KEY,    -- 给id添加主键约束:
			NAME VARCHAR(20)  
		);
		
		-- 2.创建表之后,再添加主键约束
		ALTER TABLE stu MODIFY id INT PRIMARY KEY;
		
		-- 3.删除主键约束:[方法比较特殊]
		ALTER TABLE stu DROP PRIMARY KEY;

(四)外键约束

(1)单表的缺点:数据冗余
		CREATE TABLE emp ( 
			id INT PRIMARY KEY AUTO_INCREMENT, 
			NAME VARCHAR(30), age INT, 
			dep_name VARCHAR(30), 
			dep_location VARCHAR(30) 
		);
		 -- 添加数据 
		 INSERT INTO emp (NAME, age, dep_name, dep_location) VALUES ('张三', 20, '研发部', '广州'); 
		 INSERT INTO emp (NAME, age, dep_name, dep_location) VALUES ('李四', 21, '研发部', '广州'); 
		 INSERT INTO emp (NAME, age, dep_name, dep_location) VALUES ('王五', 20, '研发部', '广州'); 
		 INSERT INTO emp (NAME, age, dep_name, dep_location) VALUES ('老王', 20, '销售部', '深圳'); 
		 INSERT INTO emp (NAME, age, dep_name, dep_location) VALUES ('大王', 22, '销售部', '深圳'); 
		 INSERT INTO emp (NAME, age, dep_name, dep_location) VALUES ('小王', 18, '销售部', '深圳');
		 
		 SELECT * FROM emp;   -- 此表数据较为冗余

创建一个单表

(2)解决办法:拆分成两个表

1.从表中,使用外键关联主表中的主键
2.级联操作,在修改和更新主表的主键时,同时更新或删除从表的外键值

		 -- 1.创建主表
		 CREATE TABLE department(
			id INT PRIMARY KEY AUTO_INCREMENT,
			dep_name VARCHAR(20),
			dep_location VARCHAR(20)
		 );

		 -- 添加2个部门
		INSERT INTO department VALUES(NULL, '研发部','广州'),(NULL, '销售部', '深圳');
		SELECT * FROM department;
		

在这里插入图片描述

		 -- 2. 创建员工表
		 CREATE TABLE employee(
			id INT PRIMARY KEY AUTO_INCREMENT,
			NAME VARCHAR(20),
			age INT,
			dep_id INT ,         -- 外键对应主表的主键
			-- 创建外键约束
			CONSTRAINT emp_depid_fk FOREIGN KEY (dep_id) REFERENCES department(id)    -- 外键约束:只能出现与主表中一致的主键id
			ON UPDATE CASCADE ON DELETE CASCADE                         -- 级联操作,在修改和更新主表的主键时,同时更新或删除附表的外键值
		)

在这里插入图片描述


			-- 添加员工,dep_id表示员工所在的部门
			INSERT INTO employee (NAME, age, dep_id) VALUES ('张三', 20, 1);
			INSERT INTO employee (NAME, age, dep_id) VALUES ('李四', 21, 1);
			INSERT INTO employee (NAME, age, dep_id) VALUES ('王五', 20, 1);
			INSERT INTO employee (NAME, age, dep_id) VALUES ('老王', 20, 2);
			INSERT INTO employee (NAME, age, dep_id) VALUES ('大王', 22, 2);
			INSERT INTO employee (NAME, age, dep_id) VALUES ('小王', 18, 2);

员工表

(五)约束_小结

小结

SpyGlass Lint脚本实战:如何用TCL自动化RTL代码检查(附完整配置模板) 本文详细介绍了如何利用TCL脚本实现SpyGlass Lint工具的自动化RTL代码检查。通过构建模块化、工程化的脚本框架,文章提供了从环境搭建、核心配置、规则定制到豁免管理的完整实战指南,并附有可复用的配置模板,旨在帮助IC设计工程师构建高效、一致的代码质量检查流水线。 阅读详情

相关推荐

AD20丝印层导入图片logo保姆级教程(附黑白预览避坑技巧)

本文提供了一份详尽的AD20丝印层导入图片Logo的实战指南。核心在于将图片预处理为高质量的单色BMP位图,并独家分享了利用Windows画图工具进行“黑白预览”的关键技巧,以提前规避转换失真。教程涵盖了从脚本获取、图片处理、参数设置到生产规范的完整流程,帮助硬件工程师高效、准确地在PCB的Top Overlay层添加个性化标识。

weixin_29194255的博客 386

【题目】假设现在有表system.table1,表中有三个字段:id(数值型)、name(字符型)、age(数值型)...

假设现在有表system.table1,表中有三个字段:id(数值型)、name(字符型)、age(数值型)写出SQL语句完成如下功能:在表中查出年龄大于20,且名字以“王”开头并在名字当中含有%的记录,并且按照年龄的倒叙排列出来(年龄大的在前面)。 答案: Select * from system.table1 where age>20 and name like ‘王%#%%’

qq_36877577的博客 2945

计算机网络Wireshark实验(西安交通大学)

实验名称 计算机网络Wireshark实验 实验日期 2021 年 5 月 17 日 实验地点 XJTU

沉鱼叶的博客 1814

【复习】sql约束

约束概念 对表中的数据进行限定,保证数据的正确性、有效性和完整性。 1. 主键约束:primary key 注意: 1. 含义:非空且唯一 2. 一张表只能有一个字段为主键 3. 主键就是表中记录的唯一标识 使用 在创建表时,添加主键约束 create table stu( id int primary key,-- 给id添加主键约束 name varchar(20) ); 删除主键约束 – 错误 alter table stu modify id int ; ALTER TABL

Noob小叮当的博客 339

快速入门:使用 SQL Server Management Studio (SSMS) 连接和查询 SQL Server 实例

开始使用 SQL Server Management Studio (SSMS) 连接到 SQL Server 实例并运行一些 Transact-SQL (T-SQL) 命令。本文介绍如何连接和查询实例SQL Server。有关 Azure SQL,请参阅连接。若要使用,请参阅连接和查询。若要详细了解如何SQL Server Management Studio,请参阅其他。......

m0_72938729的博客 5729

深入解析SPLL单相软件锁相环:从SOGI原理到PI系数调优实践

本文深入解析SPLL单相软件锁相环技术,从SOGI原理到PI系数调优实践,详细介绍了其在数字电源设计中的应用。通过数学推导和实际调试经验,帮助工程师快速掌握锁相环的核心参数计算和优化方法,提升电网相位追踪的精确度和响应速度。

weixin_30316097的博客 382

mysql 表基本操作(创建表、添加主键、外键、非空约束、唯一性约束、默认约束、自动增加)

1、单字段主键:create table tb_emp ( id int(11) primary key, name varchar(25), depId int(11), salary float );primary key 指定该列为主键;定义完所有列之后指定主键:create table tb_emp ( id int(11), name varchar(25), deptId int(11...

qq_33792097的博客 1万+

【每天一个知识点】多视图子空间聚类(Multi-view Subspace Clustering)

本文深入解析了多视图子空间聚类技术,这是一种处理多源异构数据的先进方法。它通过融合多个数据视图(如文本、图像、网络结构)的共识与互补信息,学习统一的潜在子空间表示,从而获得比单一视图更鲁棒、准确的聚类结果。文章详细阐述了其核心思想、主流技术流派(如图融合、共同潜在子空间、张量及深度学习方法),并提供了Python实战代码与调优经验,适用于跨模态检索、生物信息学等多领域复杂数据分析。

weixin_29065015的博客 459

MYSQL基础(三)——约束

目录 一、什么是约束 二、外键约束: 1.1: 1.2: 学习地址: 一、什么是约束 -- 1、创建 用户表 create table user( id int primary key auto_increment comment '主键', -- 自动增长 name varchar(10) not null unique comment '姓名', -- 独一无二 age int check ( age>0 and ...

Pan_peter的博客 640

UCIe物理层 —— 逻辑协议 (2)

本章开始主要介绍UCIe协议第四章,物理层逻辑定义和规范。如其他的通信协议一样,接口的物理层包含两个部分,逻辑子层和电气子层。其中逻辑层主要负责:1.定义接口信号和时序2. 定义发送端如何将上层数据分发到各个物理通道以及接收端如何把从各个通道收到的数据恢复成byte stream(Flit)。3. Broken Lane的repair和remap。4. 链路初始化,训练(training)和电源状态管理/切换。5. 扰码Scrambling和training sequence的产生。

m0_47581558的博客 1478

PyTorch实战(2)——使用PyTorch构建神经网络

在本节中,我们使用 PyTorch 在简单数据集上构建了一个神经网络,训练神经网络来映射输入和输出,并通过执行反向传播来更新权重值以最小化损失值,并利用 Sequential 类简化网络构建过程;介绍了获取网络中间值的常用方法,以及如何使用 save、load 方法保存和加载模型,以避免再次训练模型。

盼小辉丶的博客 1万+

MySQL基础三之约束以及修改数据表

1.约束 1.1保持数据的一致性和完整性 1.2.表级的约束和列级约束(针对字段的个数分类) 1.3.功能分类:非空约束(NOT NULL)、主键约束(PRIMARY KEY)、唯一约束(UNIQUE KEY)、默认约束(DEFAULT)、外键约束(FOREIGN KEY)。 1.4.外键约束:保持数据的一致性和完整性,实现一对一或者一对多的关系。 1.4.1.父表和子表有相同的存储

勿念先生的博客 1021

软件产品国际化:前后端及App多语言版本解决方案(超详细实现过程)

多语言版本解决方案是应对全球化趋势的关键策略,它通过构建灵活且可扩展的架构,支持软件产品在不同语言和文化环境下的顺畅运行与展示。此方案涵盖了前端多语言界面实现、后端多语言数据处理及大数据环境下的多语言支持等多个层面,确保公司能够高效地推出适应全球用户多样化需求的软件产品。在前端多语言界面实现方面,解决方案采用了国际化与本地化的结合方法。国际化过程确保软件的功能和代码设计能够处理多种语言和文化习惯,而本地化则针对特定地区进行界面和内容的调整。

大模型大数据攻城狮的专栏 2753

MySQL基础学习之约束(三)

在MysQL中,当主键定义为自增长后,这个主键的值就不再需要用户输入数据了,而由数据库系统根据定义自动赋值。每增加一条记录,主键会自动以相同的步长进行增长。约束:对表中的数据进行限定,保证数据的正确性、有效性、完整性!简单理解:约束用于限定表的字段的。作用:唯一标识每行记录,相当于数据的"身份证号",不可为空且唯一。让表和表之间产生关系,从而保证数据的准确性!

PP东博客 480

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

MySQL基础总结(三) 数据库的约束

MySQL总结(三) 数据库的约束 文章目录MySQL总结(三) 数据库的约束约束六大约束约束的分类添加约束删除约束标识列(自增长列)删除标识列删除标识列 约束 概念 一种限制,用于限制表中的数据,可以保证表中的数据的准确性和可靠性 六大约束 not null 非空约束 作用 保证字段的值不能为空 unique 唯一约束 作用 保证字段的值具有唯一性(不能重复) primary ke...

Alaskyed的博客 495

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

MySQL基础复习回顾(三) 约束

MySQL基础复习回顾(三) 约束和分页 约束 什么是约束 为了保证数据的一致性和完整性,SQL规范以约 束的方式对表数据进行额外的条件限制。 约束是表级的强制规定 可以在创建表时规定约束(通过 CREATE TABLE 语句),或者在表创建之后也可以(通 过 ALTER TABLE 语句) 六大约束 NOT NULL:非空,用于保证该字段的值不能为空 比如姓名、学号等 DEFAULT:默认,用于保证该字段有默认值 比如性别 PRIMARY KEY:主键,用于保证该字段的...

panjianlongWUHAN的专栏 255

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

MYSQL 三、mysql基础知识 2(约束)

1.1为什么需要约束数据完整性(Data Integrity)是指数据的精确性(Accuracy)和可靠性(它是防止数据库中 存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。为了保证数据的完整性,SQL规范以约束的方式对表数据进行额外的条件限制。从以下四个方面考虑:实体完整性(:例如,同一个表中,不能存在两条完全相同无法区分的记录域完整性(:例如:年龄范围0-120,性别范围男女引用完整性(:例如:员工所在部门,在部门表中要能找到这个部门。

kkkkatoq的博客 460

MySQL基础篇(三)约束

一、概述 | 二、约束演示 | 三、外键约束 |

yirenyuan的博客 732

MySQL基础教程系列-约束(三)唯一约束

我们经常要使用唯一性约束来保证我们的数据正确性,例如企业的员工表中,所有人的手机号不可以重复,所有的身份证号不可以重复,这就是唯一性约束的体现,可以帮我们从数据库底层屏蔽很多错误问题,也是我们在设计中强调使用的技巧。 下面就让我们来逐步的学习一下MySQL数据库的唯一性约束是什么,怎么样使用,有哪些注意事项。 一、数据库表的唯一性约束是什么 唯一行约束,也叫(Unique Key,唯一键)要求被约束的列中的数据唯一,允许为NULL,但只能出现一个NULL值。 唯一约束可以确保一列或者几列不出现重复值

尹洪亮 Kevin 2808

mysql注入基础(三)唯一约束和约束补救,外键约束,非空约束

1.如果在创建表的时候没有给数据做主键约束后来想添加一个怎么搞? alter table student2 add primary key; 建议新建一个表 2. 删除一个表的主键 alter table student3 drop primary id; 3.用modify方法再去添加一个主键 alter table student3 modify id int primary key;...

qq_40784515的博客 236

MySQL数据库——基础(三):约束

约束是作用于表中字段上的规则,用于限制存储在表中的数据。约束是作用在表中字段上的,在创建表/修改表时可以添加约束。约束保证了数据库中数据的正确性、有效性和完整性。

2301_80080092的博客 368

MySQL基础篇(三) - 约束

一、概述 概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。 目的:保证数据库中数据的正确、有效性和完整性。 分类: 注意:约束是作用于表中字段上的,可以在创建表/修改表的时候添加约束。 二、约束演示 CREATE TABLE tb_user ( id int AUTO_INCREMENT PRIMARY KEY COMMENT 'ID唯一标识', name varchar(10) NOT NULL UNIQUE COMMENT '

yirenyuan的博客 292

mysql基础操作(三):数据约束

首先创建一个数据库create database homework default character set utf8; use homework;1.1 默认值约束(default)-- 数据约束问题create table test( name varchar(20), gender varchar(2) ); insert into test(name) values('张三'); s...

五彩世界的博客 251

数据库MySQL基础(三):SQL约束

文章目录SQL约束SQL常见约束【1】主键【2】默认值约束【3】唯一约束【4】外键约束【5】非空约束 SQL约束 约束是一种限制,通过对表的列/行的数据进行限制,确保数据表的完整性和唯一性 SQL常见约束 约束类型 关键字 主键 primary key 默认值 default 唯一的 unique 外键 foreigh key 非空 nut null 假设有这样一个数据库 【1】主键 在数据库中,如果有两行记录数据是一样的,则数据库是无法区别的(即若两行记录的数据

小杨的博客 408

【 mysql基础(三)】约束和多表查询

【 mysql基础(三)】约束和多表查询

m0_46013789的博客 797

MySQL基础知识学习——约束、实例(三)

约束是作用于表中字段上的规则,用于限制存储在表中的数据,目的是保证数据库中数据的正确性、有效性和完整性。

weixin_45496521的博客 170
上一篇: MySQL基础(二)【查询】
下一篇: MySQL基础(四)【命令大全】
UP青年
博客等级 码龄10年 12粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值