ホームページ データベース mysql チュートリアル MySQL学习笔记4:完整性约束限制字段

MySQL学习笔记4:完整性约束限制字段

Jun 07, 2016 pm 05:55 PM
誠実さ 制約

完整性约束是对字段进行限制,从而符合该字段达到我们期望的效果比如字段含有默认值,不能是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 までご連絡ください。

ホット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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Windows 11のメモリ整合性がオフになっています。解決するにはどうすればよいですか? Windows 11のメモリ整合性がオフになっています。解決するにはどうすればよいですか? Mar 08, 2024 pm 02:06 PM

タイトル: Windows 11 のメモリ整合性がオフになっています。これを修正するにはどうすればよいですか? Windows 11 のリリースに伴い、多くのユーザーが新しいシステムにアップグレードしました。ただし、一部のユーザーは、Windows 11 の使用時にメモリの整合性がオフになるという問題に遭遇する可能性があり、これはコンピューターのパフォーマンスと安定性に影響します。この記事では、Windows 11 でメモリの整合性をオフにする問題について説明し、いくつかの解決策と提案を提供します。 1. Windows 11のメモリ整合性シャットダウン問題の原因

Go 言語でデータベース関数を学習し、PostgreSQL データの追加、削除、変更、クエリ操作を実装します。 Go 言語でデータベース関数を学習し、PostgreSQL データの追加、削除、変更、クエリ操作を実装します。 Jul 31, 2023 pm 12:54 PM

Go 言語でデータベース関数を学習し、PostgreSQL データの追加、削除、変更、クエリ操作を実装する現代のソフトウェア開発において、データベースは不可欠な部分です。 Go 言語は強力なプログラミング言語として、データベースの追加、削除、変更、クエリ操作を簡単に実装できる豊富なデータベース操作関数とツールキットを提供します。この記事では、Go言語でデータベース機能を学び、実際の運用でPostgreSQLデータベースを利用する方法を紹介します。ステップ 1: 各データベースに Go 言語でデータベース ドライバーをインストールする

Windows 11 のメモリ整合性がオフになっています。オンにするにはどうすればよいですか? Windows 11 のメモリ整合性がオフになっています。オンにするにはどうすればよいですか? Mar 08, 2024 pm 10:03 PM

最近リリースされた Windows 11 オペレーティング システムで、Microsoft はメモリ整合性という新機能を導入しました。この機能は、システムのセキュリティを向上させ、ユーザーのプライバシーとデータをマルウェア攻撃から保護するように設計されています。ただし、特定のソフトウェアをインストールしたり、特別な操作を実行したりするために、ユーザーが一時的にメモリ整合性をオフにする必要がある場合があります。では、Windows 11 のメモリ整合性がオフになった後、オンにするにはどうすればよいでしょうか?まず、Windows 11 でメモリの整合性をオフにするのは簡単な操作ではありません。

マイクロサービスを通じてデータの一貫性と PHP 機能の整合性を実現するにはどうすればよいでしょうか? マイクロサービスを通じてデータの一貫性と PHP 機能の整合性を実現するにはどうすればよいでしょうか? Sep 18, 2023 am 09:31 AM

マイクロサービスを通じてデータの一貫性と PHP 機能の整合性を実現するにはどうすればよいでしょうか?はじめに: インターネットの急速な発展とテクノロジーの継続的な革新により、マイクロサービス アーキテクチャは今日最も人気のあるアーキテクチャの 1 つになりました。独立してデプロイされる小規模なサービスを構築する方法として、マイクロサービス アーキテクチャには、柔軟性、スケーラビリティ、独立したデプロイなどの多くの利点があります。ただし、マイクロサービス アーキテクチャを実装する開発言語として PHP を使用する場合、データの一貫性と整合性をどのように確保するかが重要な課題になります。この記事ではPHPの使い方について解説します。

MySql データ暗号化: データの機密性と整合性を確保する方法 MySql データ暗号化: データの機密性と整合性を確保する方法 Jun 16, 2023 am 10:21 AM

インターネット技術の普及に伴い、データセキュリティの問題への注目が高まっています。データベースに保存されている機密情報の場合、データの機密性と整合性を確保することが重要です。 MySql データベースは、データのセキュリティを確保するためのさまざまな暗号化テクノロジを提供するオープンソースのリレーショナル データベース管理システムです。 1. 伝送暗号化 伝送暗号化は、データ伝送時に使用されるネットワーク接続を暗号化することにより、データのセキュリティを確保します。 MySql データベースの場合、SSL と SSH は 2 つの主要な送信暗号化テクノロジを表します。 SSL (

Oracle のインストールが完了し、有効であるかどうかを確認する方法 Oracle のインストールが完了し、有効であるかどうかを確認する方法 Mar 07, 2024 am 11:57 AM

タイトル: Oracle のインストールが完全かつ効果的であるかどうかを確認する方法、具体的なコード例が必要です 情報技術の発展に伴い、データベース管理システムは企業データの管理と処理のための重要なツールの 1 つになりました。 Oracle は世界をリードするリレーショナル データベース管理システムとして、企業で広く使用されています。ただし、完全かつ効果的な Oracle のインストールは、企業のデータ管理とビジネス運営にとって非常に重要です。この記事では、Oracle のインストールが完了して有効であるかどうかを確認する方法と、管理に役立つ具体的なコード例を紹介します。

MySQL の外部キーと外部制約を使用してデータの整合性と一貫性を向上させるにはどうすればよいですか? MySQL の外部キーと外部制約を使用してデータの整合性と一貫性を向上させるにはどうすればよいですか? Sep 08, 2023 pm 01:21 PM

MySQL の外部キーと外部制約を使用してデータの整合性と一貫性を向上させるにはどうすればよいですか? MySQL データベースでは、外部キーと外部制約は、データの整合性と一貫性の向上に役立つ 2 つの重要な概念です。この記事では、この目標を達成するために MySQL の外部キーと外部制約を使用する方法について詳しく説明し、いくつかのコード例を示します。 1. 外部キーの概念と機能 外部キーは、テーブル間の関係を確立するために使用されるメカニズムであり、関連するテーブル間のデータの一貫性を保証できます。外部キーは通常、テーブルの主キー (または一意のキー) で構成されます。

PHP でコード仕様の制約を実装するにはどうすればよいですか? PHP でコード仕様の制約を実装するにはどうすればよいですか? May 12, 2023 pm 08:51 PM

Web アプリケーションが進化し続けるにつれて、PHP は最も広く使用されているサーバーサイド スクリプト言語の 1 つになりました。 PHP 開発プロセスでは、効率的で保守可能かつスケーラブルなコードを実現するために、コード仕様が不可欠です。この記事では、PHP でコード仕様の制約を実装して、コード スタイルの一貫性と理解を容易にし、それによって内部チームのコラボレーションと外部配信の品質を向上させる方法を紹介します。 1. PSR 標準 PHP プログラミング仕様 (PHPStandardRecommendations) 略称 P

See all articles