MySQL之数据库字段约束学习笔记(三)

MySQL 中的字段约束用于限制字段的取值范围,确保数据的一致性和完整性。常见的字段约束包括:

  1. PRIMARY KEY:定义主键约束,唯一标识表中的每一行数据。
  2. FOREIGN KEY:定义外键约束,确保两个表之间的关联完整性。
  3. UNIQUE:确保字段值的唯一性,但允许 NULL 值。
  4. NOT NULL:确保字段值不为空。
  5. DEFAULT:为字段指定默认值。
  6. CHECK:定义自定义的数据完整性约束,例如范围限制或正则表达式。
  7. AUTO_INCREMENT:自动递增字段的值,通常用于主键。

以下是每种约束的示例:

  1. PRIMARY KEY 约束:
CREATE TABLE students (student_id INT PRIMARY KEY,name VARCHAR(50),age INT
);
  1. FOREIGN KEY 约束:
CREATE TABLE orders (order_id INT PRIMARY KEY,product_id INT,quantity INT,FOREIGN KEY (product_id) REFERENCES products (product_id)
);
  1. UNIQUE 约束:
CREATE TABLE users (username VARCHAR(50) UNIQUE,email VARCHAR(100) UNIQUE,age INT
);
  1. NOT NULL 约束:
CREATE TABLE employees (employee_id INT PRIMARY KEY,first_name VARCHAR(50) NOT NULL,last_name VARCHAR(50) NOT NULL,department_id INT
);
  1. DEFAULT 约束:
CREATE TABLE messages (message_id INT PRIMARY KEY,sender_id INT,receiver_id INT,message_text VARCHAR(255) DEFAULT 'No message'
);
  1. CHECK 约束:
CREATE TABLE products (product_id INT PRIMARY KEY,name VARCHAR(50),price DECIMAL(10, 2),quantity INT,CHECK (price > 0),CHECK (quantity >= 0)
);
  1. AUTO_INCREMENT 约束:
CREATE TABLE invoices (invoice_id INT PRIMARY KEY AUTO_INCREMENT,customer_id INT,total_amount DECIMAL(10, 2)
);

通过使用这些字段约束,可以确保数据库中的数据完整性,并避免不符合预期的数据插入或修改操作。

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

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

相关文章

Python 介绍

python 发展简史 Python 起源(1989-1991) Python的诞生可以追溯到1989年,当时Guido van Rossum在荷兰国家数学和计算机科学研究所工作时,出于对当时编程语言的不满,开始构思一种新的编程语言。他希望这种语言能够弥补C…

【Python】使用 Pandas 统计每行数据中的空值

缘分让我们相遇乱世以外 命运却要我们危难中相爱 也许未来遥远在光年之外 我愿守候未知里为你等待 我没想到为了你我能疯狂到 山崩海啸没有你根本不想逃 我的大脑为了你已经疯狂到 脉搏心跳没有你根本不重要 🎵 邓紫棋《光年之外》 在数据分析…

传感器的基本特性

传感器的基本特性主要包括以下几个方面: 静态特性:这是指传感器在被测量的各个值处于稳定状态时的输入和输出关系。传感器的静态特性可以用一些静态性能指标来衡量,主要包括线性度、灵敏度、迟滞、重复性、漂移和分辨力等。其中,线…

Python 网络爬虫:深入解析 Scrapy

大家好,在当今数字化时代,获取和分析网络数据是许多项目的关键步骤。从市场竞争情报到学术研究,网络数据的重要性越来越被人们所认识和重视。然而,手动获取和处理大量的网络数据是一项繁琐且耗时的任务。幸运的是,Pyth…

vue3 todolist 简单例子

vue3 简单的TodList 地址: https://gitee.com/cheng_yong_xu/vue3-composition-api-todo-app-my 效果 step-1 初始化项项目 我们不采用vue cli 搭建项目 直接将上图文件夹,复制到vscode编辑器,清空App.vue的内容 安装包 # 安装包 npm…

云原生架构案例分析_2.云原生技术助力某汽车公司数字化转型实践

名词解释: 互联网 在“互联网”模式下,我们仅仅把互联网看作是一种传播工具、传播手段、传播渠道和传播平台,对于互联网的应用大体上是在既有的运作逻辑的基础之上,把互联网作为延伸传媒影响力、价值和功能的一种延伸型工具&…

Linux基础1-基本指令1

1.Linux学习前言 Linux的学习非常重要,我们学习Linux的第一步是在电脑中搭建Linux环境。 对于没有搭建过的可以看这阿伟t的一篇文章 【Linux入门】Linux环境配置-CSDN博客 我的环境为XShell,运行的云服务器是阿里云 2.本章重点 1.显示当前目录下的所有文件…

iperf

文章目录 1.安装1.1在 Ubuntu 上安装1.2在 CentOS 上安装 2.iperf服务端选项3.iperf客户端选项4.iperf常用命令5.结果展示5.1 tcp结果展示5.2 udp结果展示 Iperf是一款基于TCP/IP和UDP/IP的网络性能测试工具,它可以用来测量网络带宽和网络质量,还可以提供…

针对大模型的上下文注入攻击

大型语言模型(LLMs)的开发和部署取得了显著进展。例如ChatGPT和Llama-2这样的LLMs,利用庞大的数据集和Transformer架构,能够产生连贯性、上下文准确性甚至具有创造性的文本。LLMs最初和本质上是为静态场景设计的,即输入…

asio之winsock的初始化

简介 asio中,winsock初始化工作是放在winsock_init类中来处理的 类结构 #mermaid-svg-aC4x3cdr8TKGhsnX {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-aC4x3cdr8TKGhsnX .error-icon{fill:#552222;}#…

Xilinx RFSOC 47DR 8收8发 信号处理板卡

系统资源如图所示:  FPGA采用XCZU47DR 1156芯片,PS端搭载一组64Bit DDR4,容量为4GB,最高支持速率:2400MT/s;  PS端挂载两片QSPI X4 FLASH;  PS支持一路NVME存储;  PS端挂载SD接口,用于存储程序&…

解决kettle界面右上角的connect消失——且使用admin登录不上Kettle资源库

一、问题描述 1.1、Kettle界面右上角的connect消失了 当我们配置Kettle界面的资源库(Other Repositories)内容后,Kettle界面右上角的connect消失了;如下图所示: 1.2、使用默认的账户【admin】和密码【admin】登录不上kettle资源库 当我们切换到我们配置的数据库使用超管账…

uniapp实现微信小程序调用云函数【vue3】

本人是从微信开发者工具写原生微信小程序一步一步走来,由于vue3框架的慢慢的步入前端市场,为了不被前端市场遗弃,果断从vue2开始步入vue3的学习,本人习惯在在HBuilder X写uniapp的项目,过去uniapp默认vue2框架&#xf…

注册北京个体工商户条件和办理时间

在北京这座充满活力的城市中,每天都有无数的创业者怀揣着梦想,踏上创业之路。然而,对于许多初次接触企业注册的人来说,往往对注册流程和时间感到困惑。特别是选择代理服务时,更希望了解一个大概的时间范围。那么&#…

WHAT - 容器化系列(二)- docker

目录 一、前言二、Docker镜像:可运行软件包三、Docker容器:可执行环境四、容器和镜像的关系五、创建镜像的过程5.1 编写Dockerfile5.2 构建Docker镜像5.3 查看构建的镜像5.4 运行Docker容器5.5 验证容器运行状态5.6 推送镜像到镜像仓库(可选&…

【案例实操】银河麒麟桌面操作系统实例分享,V10SP1重启后网卡错乱解决方法

1.问题现象 8 个网口, 命名从 eth1 开始到 eth8。 目前在系统 grub 里面加了 net.ifnames0 biosdevname0 参数, 然后在 udev 规则中加了一条固定网卡和硬件 pci 设备号的规则文件。 最后在 rc.local 中加了两条重新安装网卡驱动的命令( rmmod…

Spring 中如何控制 Bean 的加载顺序?

如果你脱口而出说添加 Order 注解或者是实现 Ordered 接口,那么恭喜,你掉坑了。 一 Order 注解和 Ordered 接口 在 Spring 框架中,Order 是一个非常实用的元注解,它位于 spring-core 包下,主要用于控制某些特定上下文…

【模型参数微调】最先进的参数高效微调 (PEFT) 方法

简介 由于大型预训练模型的规模,微调大型预训练模型的成本通常高得令人望而却步。参数高效微调 (PEFT) 方法只需微调少量(额外)模型参数而不是所有模型参数,即可使大型预训练模型有效地适应各种下游应用。这大大降低了计算和存储成本。最近最先进的PEFT技术实现了与完全…

git基本使用——回退,撤销add,commit,合并分支

学习笔记 笔记中表格中的—— 表示需要回退的地方,也就是使用命令之后会改变的地方 网页软件分享 这是一个非常好用web端笔记画图软件,解决了typora画图不方便的问题

TOP10-k8s-安全措施

TOP 1、镜像安全 镜像中存在什么? 镜像中存在打包后的code以及base image、tools 安全建议: 1、代码中非必须不使用任何多余的tools或者库。 2、尽量使用小而精且签名的base image. 3、推送到私有仓库前扫描 docker image.(可以集成在CI/CD的流水线中) 4…