찾다
데이터 베이스MySQL 튜토리얼MySQL学习笔记4:完整性约束限制字段

完整性约束是对字段进行限制,从而符合该字段达到我们期望的效果比如字段含有默认值,不能是NULL等如果插入的数据不满足限制要求,数据库管理系统就拒绝执行操作

完整性约束是对字段进行限制,从而符合该字段达到我们期望的效果比如字段含有默认值,不能是NULL等
直观点说:如果插入的数据不满足限制要求,数据库管理系统就拒绝执行操作
设置表的主键
主键能够标识表中每条信息的唯一性,如同身份证号码和人的关系
人可以同名,但是身份证号码却是唯一的,
创建主键的目的在于快速查找到表中的某一条信息
单字段主键
代码如下:
mysql> create table student(
-> id int primary key,
-> name varchar(20),
-> sex boolean
-> );
Query OK, 0 rows affected (0.09 sec)

创建了三个字段,其中id为主键
多字段主键
多字段主键由多个属性组合而成,在属性定义完之后统一设置主键
代码如下:
mysql> create table student2(
-> id int,
-> course_id int,
-> score float,
-> primary key(id,course_id)
-> );
Query OK, 0 rows affected (0.11 sec)

student2表有三个字段,其中id和course_id的组合可以确定唯一的一条记录
设置表的外键
表的外键与主键是相对应的,比如表A中的id是外键,表B中的id是主键
那么就可以称表B为父表,表A为子表
设置表外键的作用在于建立与父表的联系,比如表B中id为123的学生删除后,表A中id为123的记录也随着消失
这样做的目的在于保证表的完整性
代码如下:
mysql> create table student3(
-> id int primary key,
-> course_id int,
-> teacher varchar(20),
-> constraint fk foreign key(id,course_id)
-> references student2(id,course_id)
-> );
Query OK, 0 rows affected (0.12 sec)

这里创建student3表,constraint后面的fk是外键别名,foreign key也就是设置外键的字段
references后的内容表示父表,和父表中的主键
需要注意的是,父表中的主键不能为空,并且主键和外键的数据类型要一致
设置表的非空约束
非空性很好理解,就是设置表中字段的值不能为空(NULL)
如果在已经设置此约束性条件的字段中插入空值,数据库系统则会报错
代码如下:
mysql> create table student4(
-> id int not null,
-> name varchar(20),
-> sex boolean
-> );
Query OK, 0 rows affected (0.10 sec)

这里的not null就是约束条件
设置表的唯一性约束
唯一性是指表中该字段的值不能重复出现,设置表的唯一性约束
也就是给表中某个字段加上unique
代码如下:
mysql> create table student5(
-> id int unique,
-> name varchar(20)
-> );
Query OK, 0 rows affected (0.10 sec)

此处id字段便不可重复
设置表的属性值自动增加
auto_increment主要用于为表中插入的新记录自动生成唯一的ID
一个表只能有一个字段使用auto_increment约束
并且该字段必须为主键的一部分
代码如下:
mysql> create table student6(
-> id int primary key auto_increment,
-> name varchar(20)
-> );
Query OK, 0 rows affected (0.12 sec)

这里的id是主键,并且会自动增加id值,比如1,2,3,4……
需要注意的是,auto_increment约束的值必须是整数类型
设置表中属性的默认值
在表中插入一条新的记录时,如果没有为该字段赋值
那么数据库系统会自动为该字段赋上一条默认值
代码如下:
mysql> create table student7(
-> id int primary key,
-> score int default 0
-> );
Query OK, 0 rows affected (0.10 sec)
성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
Windows11内存完整性已关闭,怎样解决?Windows11内存完整性已关闭,怎样解决?Mar 08, 2024 pm 02:06 PM

标题:Windows11内存完整性已关闭,如何解决?随着Windows11的推出,许多用户都纷纷升级到了新系统。然而,有些用户在使用Windows11时可能会遇到内存完整性关闭的问题,这会影响计算机的性能和稳定性。本文将针对Windows11内存完整性关闭的问题进行探讨,并提供一些解决方法和建议。一、内存完整性关闭问题的原因Windows11中的内

学习Go语言中的数据库函数并实现PostgreSQL数据的增删改查操作学习Go语言中的数据库函数并实现PostgreSQL数据的增删改查操作Jul 31, 2023 pm 12:54 PM

学习Go语言中的数据库函数并实现PostgreSQL数据的增删改查操作在现代的软件开发中,数据库是不可或缺的一部分。Go语言作为一门强大的编程语言,提供了丰富的数据库操作函数和工具包,可以轻松地实现数据库的增删改查操作。本文将介绍如何学习Go语言中的数据库函数,并使用PostgreSQL数据库进行实际的操作。第一步:安装数据库驱动程序在Go语言中,每个数据库

Windows11内存完整性已关闭,怎么打开?Windows11内存完整性已关闭,怎么打开?Mar 08, 2024 pm 10:03 PM

在最近发布的Windows11操作系统中,微软引入了一个新功能,即内存完整性。这一特性旨在提高系统安全性,保护用户的隐私和数据免受恶意软件的攻击。然而,有时候用户可能会需要临时关闭内存完整性,以便安装一些特定的软件或进行一些特殊操作。那么,Windows11内存完整性被关闭后,如何打开呢?首先,在Windows11中关闭内存完整性并不是一项简单的操作,

如何通过微服务实现PHP功能的数据一致性与完整性?如何通过微服务实现PHP功能的数据一致性与完整性?Sep 18, 2023 am 09:31 AM

如何通过微服务实现PHP功能的数据一致性与完整性?引言:随着互联网的快速发展和技术的不断创新,微服务架构已成为当今最受欢迎的架构之一。作为一种构建独立部署的小型服务的方法,微服务架构提供了很多优势,如灵活性、可伸缩性和独立部署等。然而,当我们将PHP作为开发语言来实现微服务架构时,如何保证数据的一致性和完整性成为一项重要的任务。本文将介绍如何通过使用PHP的

如何使用MySQL的外键和约束提高数据完整性和一致性?如何使用MySQL的外键和约束提高数据完整性和一致性?Sep 08, 2023 pm 01:21 PM

如何使用MySQL的外键和约束提高数据完整性和一致性?在MySQL数据库中,外键和约束是两个重要的概念,它们可以帮助提高数据的完整性和一致性。在本文中,我们将详细讨论如何使用MySQL的外键和约束来实现这个目标,并提供一些代码示例。一、外键的概念和作用外键是用来建立表之间的关联关系的一种机制,它可以确保数据在相关表之间的一致性。外键通常由一个表的主键(或唯一

确认Oracle安装是否完整有效的方法确认Oracle安装是否完整有效的方法Mar 07, 2024 am 11:57 AM

标题:确认Oracle安装是否完整有效的方法,需要具体代码示例随着信息技术的发展,数据库管理系统已经成为企业数据管理和处理的关键工具之一。Oracle作为全球领先的关系型数据库管理系统,在企业中被广泛应用。然而,一个完整有效的Oracle安装对于企业的数据管理和业务运行至关重要。本文将介绍如何确认Oracle安装是否完整有效,同时提供具体的代码示例以帮助管理

MySql的数据加密:如何保证数据的机密性与完整性MySql的数据加密:如何保证数据的机密性与完整性Jun 16, 2023 am 10:21 AM

随着互联网技术的广泛应用,数据安全问题越来越受到重视。对于数据库中存储的敏感信息,保证数据机密性和完整性至关重要。MySql数据库是一种开源的关系型数据库管理系统,其提供了多种加密技术来保障数据安全。1.传输加密传输加密是通过对数据传输过程中所使用的网络连接进行加密来确保数据安全。对于MySql数据库来说,SSL和SSH代表了两种主要的传输加密技术。SSL(

PHP中如何进行代码规范约束?PHP中如何进行代码规范约束?May 12, 2023 pm 08:51 PM

随着web应用程序的不断发展,PHP已成为最广泛使用的服务器端脚本语言之一。在PHP开发过程中,为了实现高效、可维护和可扩展的代码,代码规范是必不可少的。本篇文章将介绍PHP中如何进行代码规范约束,以确保代码风格一致且易于理解,从而提高团队内部协作和对外交付的质量。一、PSR标准PHP编程规范(PHPStandardRecommendations)简称P

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경