JavaWeb——MySQL数据库:约束

news2024/11/19 4:40:14

目录

 1. 约束

1.1 概念:

1.2 分类:

1.3 使用:

1.4 外键约束;

1.5 总结 


数据库:数据库都有约束,数据库设计,多表查询,事物这四方面的知识;

我们先按这个顺序进行学习;

 1. 约束

1.1 概念:

限制输入表中的数据,以保证数据的真实性,可靠性。

比如,员工表中某一员工出生日期在999年,这很不科学!

1.2 分类:

主键约束,外键约束,唯一键约束,非空约束,默认约束,

检查约束(MySQL不支持检查约束);

1.3 使用:

建表时,在字段后直接使用:

1.4 外键约束;

建表时添加外键约束: 

SQL语句:CONSTRAINT 【外键名】foreing  key  本表列名  references  主表  主表列名; 

建完表后添加外键约束: 

SQL语句:

alter table 表名  add  CONSTRAINT 【外键名】foreing  key  本表列名  references  主表  主表列名; 

注意:外键名一般是:fk_表名1_表名2; 

删除外键:

SQL语句:alter table 从表名  drop  foreign key 外键名; 

含有外键的表称为从表,另一个表为主表;

 该SQL语句写在从表里,因此需要先建立主表,才能 reference 主表 主表列名;

连接后,需要先添加主表数据,才能将与主表关联的数据添加到从表里;

删除时,如果需要删除主表,需要先删除从表的数据;

1.5 总结 

(1)主键是特殊的唯一键;

(2)自动增长使用时该数据类型必须是整型,且唯一;

(3)默认约束为0/null时,可以插入null;

(4)外键在实际生产中大部分用不到,因为其使用较麻烦,查询效率低;

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

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

相关文章

如何以智能方式安装 Python

Python易于使用,对初学者友好,功能强大,几乎可以为任何应用程序创建强大的软件。 但与任何其他软件一样,Python 的设置和管理可能很复杂。 在本文中,我们将介绍如何正确设置 Python。 您将学习如何选择合适的版本、…

NISP国家信息安全水平考试

国家信息安全水平考试(NISP)是中国信息安全测评中心考试、发证,由国家网络空间安全人才培养基地运营管理,并授权网安世纪科技有限公司为NISP证书管理中心。 中国信息安全测评中心开展国家信息安全水平考试(NISP)考试项目,是为普及信息安全/网…

win11系统重装?正版系统Windows11安装重启!保姆级重装系统攻略!

随着科技的不断发展,Windows 11系统已经逐渐成为了众多电脑用户的新选择。然而,当当电脑出现严重故障、受到病毒攻击、软件冲突、系统升级失败、硬件更换或升级、系统性能下降或个性化需求等情况时,重装系统可能是一个有效的解决方案。本文将…

[YOLOv8单机多卡GPU问题解决]

问题: Transferred 319/355 items from pretrained weights DDP: debug command /home/user/miniconda3/bin/python -m tor ch.distributed.run --nproc_per_node 4 --master_port 54123/home/user/.config/Ultralytics/DDP/_temp_vpkq2tmy140546244784832.py Erro…

华为电脑重装系统如何操作?电脑Win11系统重装注意什么?图文详细解答

随着科技的不断进步,操作系统更新换代的步伐也日益加快。华为电脑作为市场中的佼佼者,其搭载的Windows 11系统凭借其强大的性能和丰富的功能受到了用户的广泛好评。然而,随着使用时间的推移,系统可能会出现各种问题,如…

UE引擎实现ShadowMap、体积光(C++)

前言 整体上参考了YivanLee大佬的这两篇文: 虚幻4渲染编程(灯光篇)【第一卷:各种ShadowMap】 虚幻4渲染编程(灯光篇)【第二卷:体积光】 正文 1、ShadowMap (1)创建工…

Golang | Leetcode Golang题解之第199题二叉树的右视图

题目: 题解: /** 102. 二叉树的递归遍历*/ func levelOrder(root *TreeNode) [][]int {arr : [][]int{}depth : 0var order func(root *TreeNode, depth int)order func(root *TreeNode, depth int) {if root nil {return}if len(arr) depth {arr a…

Open3D 显示带有强度的点云数据

目录 一、概述 1.1强度信息的意义 1.2应用场景 二、代码实现 三、实现效果 一、概述 在点云数据中,强度(Intensity)指的是激光雷达传感器在扫描环境时,每个点返回的反射强度值。这些强度值代表了激光脉冲返回的能量&#xff…

基于振弦采集仪的工程安全监测技术研究与应用

基于振弦采集仪的工程安全监测技术研究与应用 随着工程规模的不断扩大和复杂性的增加,工程安全监测变得越来越重要。工程安全监测的目的是保证工程的安全运行,预防事故的发生,保护人们的生命财产安全。其中,振弦采集仪作为一种重…

sys.stdout.write()方法——标准输出打印

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 语法参考 Sys.Stdout是sys模块中的标准输出对象,可以实现将数据向屏幕、文件等进行输出。Sys.Stdout通过write 方法实现数据的标准输出。…

Pinia的基本用法

Pinia的安装和引入 1.安装Pinia npm install pinia2. 在vue项目的main.js文件中引入pinia import { createApp } from vue import { createPinia } from pinia import App from ./App.vueconst pinia createPinia() const app createApp(App)app.use(pinia) app.mount(#ap…

LabVIEW电梯钢丝绳实时监测系统

电梯作为现代高层建筑中不可或缺的交通工具,其安全性直接影响到乘客的生命财产安全。电梯钢丝绳作为承载乘客与货物的关键部件,其健康状况尤为重要。传统的钢丝绳检测方法大多依赖于定期检查,无法实现实时监控,存在一定的安全隐患…

LabVIEW技术交流-布尔灯仿真数码管

问题来源 闲来无事,逛论坛问答,看到这样一个问题,觉得有意思,就自己尝试下。 这个功能其实是不难的,就是显示不同的数值时,对相应的布尔灯进行真假值操作就行了。但是我又想到了更有趣的玩法,能…

【unity笔记】七、Mirror插件使用

一、简介 Mirror 是一个用于 Unity 的开源多人游戏网络框架,它提供了一套简单高效的网络同步机制,特别适用于中小型多人游戏的开发。以下是 Mirror 插件的一些关键特点和组件介绍: 简单高效:Mirror 以其简洁的 API 和高效的网络…

前端:Nuxt2 + Vuetify2

想要开发一个网站,并且支持SEO搜索,当然离不开我们的 Nuxt ,那通过本篇文章让我们一起了解一下。如果构建一个Nuxt项目 安装 Nuxt,创建项目 安装nuxt2, 需要node v16,大家记得查看自己的node版本。构建脚…

安全技术和防火墙(iptables)

安全技术 入侵检测系统:特点是不阻断网络访问,主要是提供报警和事后监督,不主动介入,类似于监控。 入侵防御系统:透明模式工作,对数据包,网络监控,服务攻击,木马&#…

实时显示用户输入PySide6实例

如何用 PySide6 实现QLabel 实时显示用户在 QLineEdit 内输入的内容? 示例代码: # QLineEdit 用户输入内容,QLabel 即时显示用户输入训练from PySide6.QtWidgets import (QApplication, QWidget,QLabel, QLineEdit, QVBoxLayout)class MyWi…

Python | Leetcode Python题解之第200题岛屿数量

题目&#xff1a; 题解&#xff1a; class Solution:def dfs(self, grid, r, c):grid[r][c] 0nr, nc len(grid), len(grid[0])for x, y in [(r - 1, c), (r 1, c), (r, c - 1), (r, c 1)]:if 0 < x < nr and 0 < y < nc and grid[x][y] "1":self.d…

喂饭级AI神器!免代码一键绘制图表,文本数据秒变惊艳视觉盛宴!

由于目前的AI生成图表工具存在以下几个方面的问题&#xff1a; 大多AI图表平台是纯英文&#xff0c;对国内用户来说不够友好&#xff1b;部分平台在生成图表前仍需选择图表类型、配置项&#xff0c;操作繁琐&#xff1b;他们仍需一份规整的数据表格&#xff0c;需要人为对数据…

Qt Quick Effect Maker 工具使用介绍

一、介绍 随着 Qt 版本的不断升级,越来越多的功能被加入 Qt,一些新的工具也随之应运而生,Qt Quick Effect Maker 工具是 Qt 6.5 之后才新添加的工具,之前的名字应该是叫做 Qt shader tool 这个模块。 以下是官方的释义:Qt Quick Effect Maker是一个用于为Qt Quick创建自定…