目次
设置表的主键
单字段主键
多字段主键
设置表的外键
设置表的非空约束
设置表的唯一性约束
设置表的属性值自动增加
设置表中属性的默认值
ホームページ データベース mysql チュートリアル MySQL学习笔记4:完整性约束_MySQL

MySQL学习笔记4:完整性约束_MySQL

Jun 01, 2016 pm 01:37 PM
情報 データベースシステム 識別番号

bitsCN.com

完整性约束是对字段进行限制,从而符合对该属性进行操作的特定要求

通俗点说:如果你的数据不满足我这一字段的要求,数据库系统就拒绝执行操作

 

设置表的主键

主键能够标识表中每条信息的唯一性,如同身份证号码和人的关系

人可以同名,但是身份证号码却是唯一的,

创建主键的目的在于快速查找到表中的某一条信息

 

单字段主键
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)
ログイン後にコピー

此处的score字段便会默认为0

 

 

bitsCN.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

Microsoft Word で作成者と最終変更情報を削除する方法 Microsoft Word で作成者と最終変更情報を削除する方法 Apr 15, 2023 am 11:43 AM

Microsoft Word ドキュメントには、保存時にいくつかのメタデータが含まれます。これらの詳細は、作成日、作成者、変更日など、ドキュメントの識別に使用されます。文字数、単語数、段落数などの他の情報もあります。他の人に値が知られないよう、作成者や最終更新情報、その他の情報を削除したい場合は、方法があります。この記事では、ドキュメントの作成者と最終変更情報を削除する方法を見てみましょう。 Microsoft Word 文書から作成者と最終変更情報を削除する ステップ 1 – 次のページに移動します。

Windows 11 で GPU を取得し、グラフィックス カードの詳細を確認する方法 Windows 11 で GPU を取得し、グラフィックス カードの詳細を確認する方法 Nov 07, 2023 am 11:21 AM

システム情報の使用 [スタート] をクリックし、システム情報を入力します。下の画像に示すようにプログラムをクリックするだけです。ここではほとんどのシステム情報が見つかりますが、グラフィック カード情報も見つかります。システム情報プログラムで、「コンポーネント」を展開し、「表示」をクリックします。プログラムに必要な情報をすべて収集させ、準備が完了すると、システム上でグラフィックス カード固有の名前やその他の情報を見つけることができます。複数のグラフィックス カードをお持ちの場合でも、コンピュータに接続されている専用および統合グラフィックス カードに関連するほとんどのコンテンツをここから見つけることができます。デバイス マネージャーの使用 Windows 11 他のほとんどのバージョンの Windows と同様に、デバイス マネージャーからコンピューター上のグラフィック カードを見つけることもできます。 「開始」をクリックしてから、

NameDrop で連絡先の詳細を共有する方法: iOS 17 のハウツー ガイド NameDrop で連絡先の詳細を共有する方法: iOS 17 のハウツー ガイド Sep 16, 2023 pm 06:09 PM

iOS 17には、2台のiPhoneをタッチすることで誰かと連絡先情報を交換できる新しいAirDrop機能があります。これは NameDrop と呼ばれるもので、その仕組みは次のとおりです。 NameDrop を使用すると、新しい相手の電話番号を入力して電話したりテキストメッセージを送信したりする代わりに、iPhone を相手の iPhone の近くに置くだけで連絡先の詳細を交換できるため、相手はあなたの番号を知ることができます。 2 つのデバイスを組み合わせると、連絡先共有インターフェイスが自動的にポップアップ表示されます。ポップアップをクリックすると、個人の連絡先情報と連絡先ポスターが表示されます(自分の写真をカスタマイズして編集できます。これも iOS17 の新機能です)。この画面には、「受信のみ」するか、応答として自分の連絡先情報を共有するかのオプションも含まれています。

Python 正規表現を使用して ID 番号を抽出する方法 Python 正規表現を使用して ID 番号を抽出する方法 Jun 22, 2023 am 10:35 AM

データ処理のプロセスでは、多くの場合、テキストから特定の形式で情報を抽出する必要があります。 ID番号は比較的一般的な個人情報として、データ処理によく使用されます。 Python 正規表現を使用すると、ID 番号を簡単に抽出し、それに対して特定の検証を実行できます。 IDカード番号は18桁で構成されており、IDカード番号には地域、生年月日、チェックコードなどが含まれます。 Python では、re モジュールの正規表現関数を使用して ID 番号を抽出できます。頭

入力文字列が ID 番号またはパスポート番号の形式であるかどうかを確認するための PHP 正規表現 入力文字列が ID 番号またはパスポート番号の形式であるかどうかを確認するための PHP 正規表現 Jun 24, 2023 pm 12:11 PM

ID 番号とパスポート番号は、人々の生活の中でよく使われる文書番号です。これらの文書番号に関連する機能を実装する場合、多くの場合、入力された番号の形式検証を実行して、その正確性を確認する必要があります。 PHP では、この機能を実現するために正規表現を使用することができますが、この記事では、PHP の正規表現を使用して、入力文字列が ID 番号またはパスポート番号の形式であるかどうかを確認する方法を紹介します。 1. ID カード番号の確認 ID カード番号は 18 桁で構成されており、最後の 1 桁は文字 (チェック コード) の場合があり、その形式は次のとおりです。

ID番号の誕生日情報を検証するPHP正規表現 ID番号の誕生日情報を検証するPHP正規表現 Jun 24, 2023 pm 02:22 PM

ID番号は私たちが日常生活で頻繁に使用する本人証明ツールであり、それに含まれる誕生日情報も非常に重要です。 PHP を使用して ID 番号を検証する場合、誕生日情報が正しいかどうかを判断する必要があることがよくあります。この記事では、PHPの正規表現を使ってID番号の誕生日情報を確認する方法を紹介します。 1. ID 番号の基本形式 ID 番号は 18 桁の数字と文字で構成される文字列で、最後の 1 桁は数字または文字、大文字または小文字を使用できます。最初の 17 桁は ID カードの所有者です

データベース システムの 3 レベルのスキーマ構造とは何ですか? データベース システムの 3 レベルのスキーマ構造とは何ですか? Jul 23, 2021 pm 03:58 PM

データベース システムの 3 レベルのスキーマ構造とは、データベース システムが外部スキーマ、スキーマ、内部スキーマの 3 つのレベルで構成されていることを意味します。スキーマは論理スキーマとも呼ばれ、すべてのユーザーに共通のデータ ビューです。外部スキーマはユーザー スキーマとも呼ばれ、データベース ユーザーのデータ ビューであり、アプリケーションに関連するデータの論理表現です。内部スキーマは、ストレージ スキーマとも呼ばれる、組織のデータベース内のデータです。

シングルビュー NeRF アルゴリズム S^3-NeRF は、マルチイルミネーション情報を使用してシーンのジオメトリとマテリアル情報を復元します。 シングルビュー NeRF アルゴリズム S^3-NeRF は、マルチイルミネーション情報を使用してシーンのジオメトリとマテリアル情報を復元します。 Apr 13, 2023 am 10:58 AM

現在の画像 3D 再構成作業では、通常、一定の自然光条件下で複数の視点 (マルチビュー) からターゲット シーンをキャプチャする多視点ステレオ再構成手法 (マルチビュー ステレオ) が使用されます。ただし、これらの方法は通常、ランバート曲面を前提としており、高周波の詳細を復元するのが困難です。シーン再構築のもう 1 つのアプローチは、固定視点から異なる点光源でキャプチャされた画像を利用することです。たとえば、フォトメトリック ステレオ法では、この設定を採用し、そのシェーディング情報を使用して、非ランバーシアン オブジェクトの表面の詳細を再構成します。ただし、既存のシングルビュー手法は通常、可視領域を表現するために法線マップまたは深度マップを使用します。

See all articles