(五)约束

实战:如何用MIPI CSI-2高效传输RAW10图像数据(附带宽优化技巧) 本文深入探讨了MIPI CSI-2协议在RAW10图像数据传输中的高效应用,详细解析了4像素5字节打包机制及其带宽优化技巧。通过动态Lane分配、位深度自适应压缩和虚拟通道交错传输等实战方法,显著提升传输效率,适用于IoT摄像头开发等低功耗场景。 阅读详情

约束

约束的作用:
    定义规则
    确保数据的完整性

五种约束:

1.非空约束

--在创建表的时候设置非空约束
CREATE TABLE table_name
(
  column_name datatype NOT NULL , ....
) ;


--在修改表的时候添加非空约束(要是没有任何数据的情况下)
ALTER TABLE table_name MODIFY column_name datatype NOT NULL ;


--在修改表的时候去除非空约束
ALTER TABLE table_name MODIFY column_name datatype NULL ;

2.主键约束

确保表中的每一行数据的唯一行(唯一 , 非空)
一张表只能有一个主键约束
主键约束可以由多个字段组成(联合主键约束或复合主键)
2.1在创建表的时候设置主键约束
--方式一:单字段主键约束
 CREATE TABLE table_name
 (
      column_name datatype PRIMARY KEY , ...
 );


--方式二:多字段主键约束
 CREATE TABLE table_name
 (
      column_name1 datatype  ,
      column_name2 datatype ,
      ...,
      CONSTRAINT constraint_name PRIMARY KEY(column_name1, ...)
 );



--例如:
create table user_info
(
    id number(6,0) ,
    name varchar2(20) ,
    password  varchar2(20) not null ,
    email varchar2(30) not null,
    constraint pk_id_name primary key(id, name)
);

这里写图片描述

--查找表的约束名:
SELECT constraint_name FROM user_constraints WHERE table_name = 'TABLE_NAME' ;

--例如
select constraint_name from user_constraints where table_name='USER_INFO' ;

这里写图片描述


2.2在修改表时添加主键约束
--修改时添加主键约束
ALTER TABLE table_name ADD CONSTRAINT constraint_name PRIAMRY KEY(column_name1, ...) ;

--例如
alter table user_info1 add constraint pk_id_name primary key(id,name);

这里写图片描述


2.3更改约束名
--更改约束名
ALTER TABLE table_name RENAME CONSTRAINT old_constraint_name TO new_constraint_name ;


--例如:
alter table user_info1 rename constraint pk_id_name to new_id_name ;

这里写图片描述


2.4禁用和启用主键约束:
--禁止或启用主键约束
ALTER TABLE table_name DISABLE|ENABLE CONSTRAINT constraint_name ;


--例如:
alter table user_info1disable constraint new_pk_id_name ;

这里写图片描述
这里写图片描述
这里写图片描述


2.5删除主键约束
 ALTER TABLE table_name DROP CONSTRAINT constraint_name ;
-- 或
 ALTER TABLE table_name DROP PRIMARY KEY[CASCADE];


-- 例如:
 alter table user_info1 drop constraint new_pk_id_name ;

这里写图片描述


3.外键约束

3.1在创建表的时候添加外键约束
table_name1为主表 , table_name2为从表
主从表中相应的字段的类型必须一致, 从表的外键必须是主表的主键
外键字段的值必须来之主表 ,或者为null
CREATE TABLE table_name1
(
    column_name1 datatype PRIAMRY KEY ,
    ....
);


--方式一:
CREATE TABLE table_name2
(
    column_name1 datetype PRIAMRY key ,
    column_name2 datatype REFERENCES table_name1(column_name1),
    ...
);


--例如:
create table user_info
(
    id number(6,0) primary key,
    name varchar2(20) not null,
    password varchar2(20) not null,
    email varchar2(30)
);
create table card
(
    id number(8,0) primary key,
    money number(8,2) not null ,
    user_id number(6,0) references user_info(id)
);

这里写图片描述

--方式二:
CREATE TABLE table_name2
 (

    column_name1 datetype PRIAMRY key ,
    column_name2 datatype ,
    ....,
    CONSTRAINT constraint_name foreign key(column_name) REFERENCES table_name1(column_name) [ON DELETE CASCADE] 

 );


--例如
create table card
(
    id number(8,0) primary key,
    money number(8,2) not null ,
    user_id number(6,0) ,
    constraint FK_USER_ID foreign key(user_id) references user_info(id) on delete cascade
);

这里写图片描述


3.2在修改表的时候添加外键约束
ALTER TABLE table_name1 ADD CONSTRAINT constraint_name FOREIGN KEY(column_name) REFERENCES table_name2(column_name) ;

--例如
alter table card add constraint fk_user_id foreign key(user_id) references user_info(id) ;

这里写图片描述


3.3在修改表的时候删除外键约束(和删除主键一样)
--禁用外键约束:
ALTER TABLE table_name DISABLE|ENADBLE CONSTRAINT constraint_name ;
--删除外键约束
ALTER TABLE table_name DROP CONSTRAINT constraint_name ;


--例如
alter table card drop constraint fk_user_id ;

这里写图片描述


4.唯一约束

 保证其唯一性
 唯一约束与主键约束的区别:
      主键约束要保证字段为非空的
      唯一约束中允许有一个空值
      主键在一张表中只能有一个
      唯一约束一张表中可以有多个
4.1在创建表的时候设置唯一约束

--方式一:
 CREATE TABLE table_name
 (
      column_name datatype UNIQUE,
      ....
 );


--方式二:

 CREATE TABLE table_name
 (
      column_name datatype ,
      .... ,
      CONSTRAINT constraint_name UNIQUE(column_name)
 );

4.2在修改表的时候添加唯一约束
ALTER TABLE table_name ADD  CONSTRAINT constraint_name UNIQUE(column_name) ;    

4.3在修改表的时候删除唯一约束
--禁用唯一约束:
ALTER TABLE table_name DISABLE|ENADBLE CONSTRAINT constraint_name ;

--删除唯一约束
ALTER TABLE table_name DROP CONSTRAINT constraint_name ;

5.检查约束

5.1在创建表的时候设置检查约束
--方式一:
CREATE TABLE table_name
 (
      column_name datatype CHECK(expressions),
      ....
 );


--方式二:
 CREATE TABLE table_name
 (
      column_name datatype ,
      .... ,
      CONSTRAINT constraint_name CHECK(expressions)
 );

5.2在修改表的时候添加唯一约束
ALTER TABLE table_name ADD  CONSTRAINT constraint_name CHECK(expressions) ;    

5.3在修改表的时候删除唯一约束
--禁用唯一约束:
ALTER TABLE table_name DISABLE|ENADBLE CONSTRAINT constraint_name ;


--删除唯一约束
ALTER TABLE table_name DROP CONSTRAINT constraint_name ;

总结

    除去not null约束外,其他四个约束primary key ,foreign key, unique, check在添加约束是有些不同,主要是关键字的不同.
    在删除约束禁用约束上都是一样的格式.
--禁用primary key ,foreign key, unique, check约束:
ALTER TABLE table_name DISABLE|ENADBLE CONSTRAINT constraint_name ;


--删除primary key ,foreign key, unique, check约束
ALTER TABLE table_name DROP CONSTRAINT constraint_name ;
【Python机器学习】零基础掌握TweedieRegressor广义线性回归模型 本次文章主要介绍了如何使用Tweedie回归模型预测电动汽车的实际续航里程。基于车速、气温和驾驶习惯等多种因素,模型能够准确地预测出电动汽车的续航里程,从而为生产商和消费者提供有用的信息。优点总结,Tweedie回归模型在处理具有多元性和高度散布的数据方面表现出色,特别适用于需要考虑多种影响因素的预测任务。优点名称对应描述说明多元性强可以同时处理多种类型和维度的数据高度可定制允许用户自定义损失函数和正则项对异常值鲁棒能够较好地处理数据中的异常值易于解释参数和预测结果都相对容易解释。 阅读详情

相关推荐

告别卡顿闪烁!在Cesium 1.134中集成SOG格式,让400万高斯秒级加载

本文详细介绍了如何在Cesium 1.134中集成SOG格式,实现400万高斯数据的秒级加载,解决传统加载方式导致的卡顿和闪烁问题。通过空间索引重构、属性量化编码和WebGPU原生支持等技术,SOG格式显著提升了三维地理空间可视化的性能。文章还提供了环境准备、模型转换和Cesium集成的实战指南,帮助开发者高效优化项目。

weixin_29313817的博客 498

Navicat Premium怎么设置字段的唯一性(UNIQUE)?

1、打开你想要设计的表 2、清楚你想要设计哪个字段为唯一的,例如我这里是设计name字段唯一,然后点击索引 3、然后设置相关内容 说明: 名:索引名 字段:想要设计的那个UNIQUE字段名,这里可以选择,也可以直接输入 索引类型:当然是选择UNIQUE啦 索引方法:可以不写,默认如图 注释:就是注释啦 4、点击左上角的保存。 5、测试,当你插入相同name值的记...

EasyChillの博客 3万+

保姆级教程:用Multisim仿真快速上手二极管、MOSFET和IGBT的开关特性

本文提供了一份详细的Multisim仿真教程,帮助读者快速掌握二极管、MOSFET和IGBT的开关特性。通过搭建实验电路、观察波形特征和参数影响分析,深入解析了反向恢复过程、米勒平台现象和拖尾电流效应。适合电力电子初学者和工程师通过仿真建立直观理解,提升电路设计能力。

weixin_29290863的博客 498

软件开发必备流程,用户名设置为唯一,Navicate如何将user设置为唯一,开发前一定要先设置,要不改不好改,alt + enter快速创建方法

第一步:点击设计表 第二步: 设置栏,选择你想要的栏 第三步 设置为Unique

weixin_54048131的博客 452

使用podman 容器化安装DIFY

本文阐述了使用podman容器化安装DIFY的过程

wengad的博客 1901

【影像组学】用3Dslicer或Python提取影像组学特征

用3Dslicer或Python提取影像组学特征

abdslfwoeugp 1万+

navicat设置表中字段唯一约束

首先进入设计表: 如下界面点击索引: 如下设置: 栏位选择想要唯一约束的字段 点击保存即可

心有猛虎 细嗅蔷薇 1万+

初识YUV,实战NV21格式数据转换为Bitmap

初识YUV,并使用YUV数据生成Bitmap图像一、初识YUV二、采样方式2.1、YUV 4:4:42.2、YUV 4:2:22.2、YUV 4:2:2 一、初识YUV 说到YUV我们就必须先从RGB说起了,如下图所示,请各位把每个色块当成一个像素点。通常一个像素点由RGB(Alpha我们先不考虑)三原色组成。 如下图中第一个像素点,其RGB值分别为(236,102,93),而这三个值就组成了我们看到的 红色 。 然而上图中除了RGB值外,我还标出了每个像素点的YUV的值,YUV的值是怎么来的呢?直接给公

乐翁龙 7126

Navicat工具中如何为字段添加check约束

使用MySQL可视化工具——Navicat工具创建的数据库,有时候需要为某个字段添加check约束。 在这里我找到的第一种方式是引自为表中的某个字段添加check约束; alter table `person` add CONSTRAINT ck_relation_id CHECK(sex="男" or sex="女") 很遗憾没有效果,蛮奇怪的,放弃该方案。 继续寻找方法, Navicat工具...

tida_yake的博客 1万+

Windows 11下Dify安装部署实战指南

本文详细介绍在Windows 11环境下部署开源LLM应用开发平台Dify的完整流程。涵盖环境准备(WSL 2启用、Docker Desktop安装配置)、源码获取、Docker容器化部署、数据库初始化、服务启动验证等核心步骤。包括环境变量配置、性能优化、安全加固、端口冲突解决、数据库连接故障排查等关键技术要点。为开发者提供从零到一的Dify本地化部署实战指南

weixin_44269410的博客 851

IPD流程中的RR\OR\IR\PB\SR\AR\CR等名词汇总(基于新的产品包需求架构)

RR:Raw Requirement,原始需求=》IR:Initial Requirement,初始需求=》SR:System Requirement,系统需求=》AR:Allocated Requirement,分配需求=》CR:Process Change Requirement,流程变更需求。

a1809032425的博客 3191

五、约束

MySQL学习 五、约束(Constraint) 1.定义 ​ 在创建表的时候,可以给表的字段添加相应的约束,添加约束的目的是为了保证表中数据的合法性、有效性、完整性。 ​ 常见约束有: ​ ①非空约束(not null):约束的字段不能为NULL ​ ②唯一约束(unique):约束的字段不能重复 ​ ③主键约束(primary key):约束的字段既不能为NULL也不能重复(简称PK) ​ ④外键约束(foreign key):(简称FK) ​ ⑤检查约束(check):Orac

weixin_46303556的博客 157

Python爬虫终极实战:逆向解析+异步处理,高效爬取中关村在线万级产品数据

爬虫工程师的战场,已经从简单的HTML解析,转向了对网络协议、JavaScript执行逻辑的深度逆向工程。然后刷新页面,当浏览器发起这个请求时,执行会暂停,我们可以一步步跟蹤调用栈(Call Stack),找到发起请求前的JavaScript代码,从而发现参数的计算逻辑。它们会添加一个动态的、一次性的签名(token)或加密参数,用于验证请求的合法性。这是整个爬虫最核心、最具技术含量的部分。的请求,其响应体正是结构清晰的JSON数据,包含了当前页面的所有手机信息(产品ID、名称、价格、图片等)。

2201_76125261的博客 429

现代控制理论——五约束条件的变分问题(1):欧拉方程

欧拉方程

m0_52792591的博客 332

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

MySQL:五、约束

约束 目的:保证数据的完整性和一致性 列级约束:对一个数据列建立的约束,在列定义时声明或列定义后声明。 表级约束:对多个数据列建立的约束,只能在列定义后声明。 主键约束 PRIMARY KEY 1. 主键自动为NOT NULL 2. 主键保证记录的唯一性 3. 每张数据表只能存在一个主键 4. AUTO_INCREMENT 自动编号,必须与主键组合使用,默认情况下,起始值为1 非空约束 NOT ...

onj123的博客 199

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

五、SQL–索引/约束⑤(主键约束)

第一范式要求每张表都要有主键,因此主键约束是非常重要的,而且*主键约束是外键关联的基础条件。主键约束为表之间的关联提供了链接点。 主键必须能够唯一标识一条记录,即主键字段中的值必须是唯一的,而且不能包含NULL 值。虽然一张表中可以有多个UNIQUE 约束和非空约束,但每个表中只能有一个主键约束。 在CREATE TABLE语句中定义主键约束:在字段定义后添加PRIMARY KEY关键字即可。不过...

测试小白升级记 322

mysql学习总结五:约束

一、什么是表约束 表约束是在创建表的时候,设计的一些表的约束条件,用来保证数据的合法性和数据的正确性。 二、为什么需要表约束 表约束是为了规范程序员正确使用表的,但表约束是预先设置的,设置之后就对所有插入和修改立即生效,比如非空约束设置好之后,如果添加和修改为null值就会报错。 三、约束类型 1.非空约束 语法: 字段 字段类型 not null 非空约束的作用: 注意: 1.学习了约束之后,我们设计表时,就应该注意约束条件。(字段 字段类型 约束…) 2.一个表中的非空约束时没有数量限制的,可以有

weixin_45795182的博客 1274

五、mysql—约束

员工表的 dep_id 列 与 部门表的 id 列进行关联。Tips:mysql不支持检查约束。

u012301725的博客 376

实验五 视图与完整性约束

因此,视图 cj_student 的结果集包含了所有选修了挂科课程的学生的信息,按照成绩从高到低排序。根据题目中的描述,SC表建立了学号Sno和课程号Cno的外键约束,而在学生表中并没有Sno为9512121的记录,因此在向SC表中插入数据时,学号Sno为9512121违反了外键约束,因此插入不成功,答案为选项D。接着,该视图使用了一个 GROUP BY 子句,按照课程名称 cname 将 cj_student 视图中的记录分组,以便统计每门课程挂科或成绩为空的学生人数,并获取每门课程对应的学生姓名列表。

程序员小火龙的知识分享 1262

Oracle学习(五)约束

一、非空约束 1.在创建表时设置非空约束 CREATE TABLE table_name( column_name datatype NOT NULL,…); 2.在修改表时添加非空约束 ALTER TABLE table_name MODIFY column_name datatype NOT NULL; 3.在修改表时去除非空约束 ALTER TABLE table_name MODIF...

陌若安生的博客 280

五、完整性约束

五、完整性约束 数据的完整性简介 就是正确性、准确性,包含三种: 实体完整性 参照完整性 用户自定义完整性 Oracle中主要通过约束、触发器、过程函数实现的。 维护数据的完整性 有not null、unique、check、primary key、foreign key五种。 not null例如学生的姓名;unique例如学生的学号;primary key主键、foreign key外键、check可以按照用户要求,进行自动检查。 unique不可以重复,但是可以为空。 primary key不可以

一个孤独漫步者的遐想的博客 232

五、MySql表的约束

主表则必须是有主键约束或unique约束。当定义外键后,要求外键列数据必须在主表的主键列存在或为null。

weixin_54447296的博客 283

Mysql(五)常见约束

前言 本章主要讲述mysql的约束 一.概述 约束是添加在列上的,且用来约束列的 二.常见约束 NOT NULL:非空,该字段的值必填 UNIQUE:唯一,该字段的值不可重复 DEFAULT:默认,该字段的值不用手动插入有默认值 PRIMARY KEY:主键,该字段的值不可重复并且非空 unique+not null FOREIGN KEY:外键,该字段的值引用了另外的表的字段 1.主键约束(唯...

Mikasa的博客 313

五、SQL–索引/约束④(check约束)

CHECK约束会: 检查输入到记录中的值是否满足一个条件,如果不满足这个条件则对数据库做的修改不会成功。 如,一个人的年龄是不可能为负数的,一个人的入学日期不可能早于出生日期,出厂月份不可能大于12。可以在CHECK条件中使用任意有效的SQL表达式,CHECK约束对于插入、更新等任何对数据进行变化的操作都进行检查。 字段添加CHECK约束:在该字段定义后添加CHECK 表达式,几乎所有字段中都可以...

测试小白升级记 2740

FPGA时序约束(五)--衍生时钟约束

本文从衍生时钟的定义,它起到的作用来帮助大家理解。同时也给出了具体的约束方法和实例帮助大家实际的使用。

weixin_44253012的博客 1140

【MySQL基础篇】五、表的约束

​ 表中一定要有各种约束,通过约束让我们在未来使用数据库的时候,操作的结果都能是符合预期的!约束的本质就是通过技术手段倒闭程序员插入正确的数据!​ 真正约束字段的是数据类型,但是数据类型约束很单一,需要有一些额外的约束,这是为了更好地保证数据的合法性,从业务逻辑角度保证数据的正确性。比如有一个字段是email,我们要求其是唯一的,不能说要填啥就填啥,所以就要约束!​ 表的约束很多,这里主要介绍如下几个:null/not null、default、comment、zerofill。

lirendada的博客 1235

ios 约束(五)

1、用格式字符串将试图对齐并灵活调整其尺寸     通过约束规则,我们很容易就能指定视图的对齐方式:     1、“H:|[self]”、“H:[self]|”、“V:[self]|”、“V:|[self]”这4种格式字符串分别产生左对齐、右对齐、顶部对齐及底端对齐的效果。     2、向上述字符串中添加表示尺寸关系的谓词,即可实现拉伸至左边界、拉伸至右边界等效果:“H:

ChasingDreamsCoder的博客 754
上一篇: (四)操作表和DML语句
下一篇: 数据库概念
elimuzi
博客等级 码龄10年 56粉丝 113原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值