MySQL の null 制約のケースの説明

MySQL の null 制約のケースの説明

MySQL の NOT NULL 制約は、フィールドの値が空であってはならないことを意味します。非 NULL 制約を使用するフィールドの場合、ユーザーがデータを追加するときに値を指定しないと、データベース システムはエラーを報告します。これは、CREATE TABLE または ALTER TABLE ステートメントを通じて実行できます。列の値が空にならないように制約するには、テーブル内の列の定義の後にキーワード NOT NULL を修飾子として追加します。

たとえば、ユーザー情報テーブルにユーザー名が追加されていない場合、このユーザー情報は無効になります。 このとき、ユーザー名フィールドに非 null 制約を設定できます。

テーブルを作成するときにNOT NULL制約を設定する

テーブルを作成するときに、NOT NULL キーワードを使用して空でない制約を設定できます。具体的な構文形式は次のとおりです。

<フィールド名> <データ型> NOT NULL;

例1

データ テーブル tb_dept4 を作成し、部門名が空にならないように指定します。SQL ステートメントと実行結果は次のとおりです。

mysql> テーブル tb_dept4 を作成します
    -> (
    -> id INT(11) 主キー、
    -> 名前 VARCHAR(22) NOT NULL、
    -> 場所 VARCHAR(50)
    -> );
クエリは正常、影響を受けた行は 0 行 (0.37 秒)

mysql> DESC tb_dept3;
+----------+-------------+------+------+--------+-------+
| フィールド | タイプ | Null | キー | デフォルト | 追加 |
+----------+-------------+------+------+--------+-------+
| id | int(11) | NO | PRI | NULL | |
| 名前 | varchar(22) | NO | | NULL | |
| 場所 | varchar(50) | はい | | NULL | |
+----------+-------------+------+------+--------+-------+
3 行セット (0.06 秒)

テーブルを変更するときに非NULL制約を追加する

テーブルを作成するときにフィールドに NOT NULL 制約を設定し忘れた場合は、テーブルを変更して NOT NULL 制約を追加することもできます。

テーブルを変更するときに空でない制約を設定するための構文形式は次のとおりです。

ALTER TABLE <テーブル名>
列の変更 <フィールド名>
<フィールド名> <データ型> NOT NULL;

例2

データ テーブル tb_dept4 を変更し、部門の場所が空にならないように指定します。SQL ステートメントと実行結果は次のとおりです。

mysql> テーブル tb_dept4 を変更します
    -> 列の位置を変更する
    -> 場所 VARCHAR(50) NOT NULL;
クエリは正常、影響を受けた行は 0 行 (0.15 秒)
レコード: 0 重複: 0 警告: 0

mysql> DESC tb_dept4;
+----------+-------------+------+------+--------+-------+
| フィールド | タイプ | Null | キー | デフォルト | 追加 |
+----------+-------------+------+------+--------+-------+
| id | int(11) | NO | PRI | NULL | |
| 名前 | varchar(22) | NO | | NULL | |
| 場所 | varchar(50) | NO | | NULL | |
+----------+-------------+------+------+--------+-------+
セット内の 3 行 (0.00 秒)

非NULL制約を削除する

テーブルを変更するときに非 NULL 制約を削除するための構文規則は次のとおりです。

ALTER TABLE <テーブル名>
CHANGE COLUMN <フィールド名> <フィールド名> <データ型> NULL;

例3

データ テーブル tb_dept4 を変更し、部門の場所の非 NULL 制約を削除します。SQL ステートメントと実行結果は次のとおりです。

mysql> テーブル tb_dept4 を変更します
    -> 列の位置を変更する
    -> 場所 VARCHAR(50) NULL;
クエリは正常、影響を受けた行は 0 行 (0.15 秒)
レコード: 0 重複: 0 警告: 0

mysql> DESC tb_dept4;
+----------+-------------+------+------+--------+-------+
| フィールド | タイプ | Null | キー | デフォルト | 追加 |
+----------+-------------+------+------+--------+-------+
| id | int(11) | NO | PRI | NULL | |
| 名前 | varchar(22) | NO | | NULL | |
| 場所 | varchar(50) | はい | | NULL | |
+----------+-------------+------+------+--------+-------+
セット内の 3 行 (0.00 秒)

これで、MySQL の not null 制約のケース スタディに関するこの記事は終了です。MySQL の not null 制約に関するより関連性の高いコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySQL で外部キー制約を作成および削除する方法
  • MySQL に外部キー制約を追加する具体的な方法
  • MySQL データベースの制約とデータ テーブルの設計原則
  • MySQLデータベースで外部キー制約を使用する必要があるかどうかの詳細な説明
  • MySQL 学習: データベース テーブルの 5 つの主要な制約を初心者向けに詳しく説明します
  • MySQL の 6 つの一般的な制約タイプの詳細な説明
  • MYSQLの主キー制約とユニーク制約の違いについて簡単に説明します。
  • MySQL 制約の超詳細な説明
  • MySQLデータベースのテーブルに制約を設定する方法

<<:  読み取り専用と無効の微妙な違いの詳細な説明

>>:  nginxを使用して取得したIPアドレスが127.0.0.1である問題を解決する

推薦する

CSS中級者向けアダプティブレイアウトの5つのソリューションの詳細な説明

序文ページを作っていく上で、ページレイアウトに関する内容に遭遇することが多く、面接でも聞かれることも...

MySQLデータベースは重複データを削除し、メソッドインスタンスを1つだけ保持します

1. 問題の紹介ユーザー テーブルに 3 つのフィールドが含まれているシナリオを想定します。 id、...

HTMLのタグと要素の違いの詳細な説明

ウェブページに慣れていない友人の多くは私と同じように、HTML で要素、タグ、属性がどのように定義さ...

docker を使用して kafka プロジェクトをデプロイする Centos6 方法の分析

この記事では、Docker を使用して Centos6 に Kafka プロジェクトをデプロイする方...

2 級コンピュータ試験のための MySQL の知識ポイントとよく使用される MYSQL コマンド

2級コンピュータ試験のMySQL知識ポイントの基礎、一般的なMYSQLコマンドは次のとおりです。よく...

Centos に PHP7.4 と Nginx をインストールする方法

準備する1. 必要なインストールパッケージをダウンロードするhttps://www.php.net/...

Apache の一般的な仮想ホスト設定方法の分析

1. Apacheサーバーのインストールと設定yum インストール httpd -y systemc...

Docker Swarm を使用して分散クローラー クラスターを構築する例

クローラーの開発プロセス中に、クローラーを複数のサーバーに展開する必要がある状況に遭遇したことがある...

vue3で注意すべき2つのポイントを詳しく解説:セットアップ

目次vue2の場合vue3ではセットアップに関する注意事項セットアップライフサイクルは、before...

Windows 10 で MySql の解凍バージョンをインストールして構成する方法のチュートリアル

Windows 10 で MySql データベースの解凍バージョンをインストールするステップ 1: ...

Mysql関数呼び出しの最適化の詳細な説明

目次関数呼び出しの最適化関数呼び出しの最適化MySQL 関数は、内部的に決定論的または非決定論的とし...

WeChatアプレット仮想リストの応用例

目次序文仮想リストとは何ですか?デモ効果準備スクリーンの高さとボックスの高さ最適化要約する序文人気の...

nginx で同時接続リクエストの数を制限する方法

導入同時接続数を制限するモジュールは http_limit_conn_module です。アドレス:...

CSS3で線形グラデーションを実装するためのコードの詳細な説明

序文デモでは古いバージョンのブラウザのグラデーションが実装されています[IE9-]。 IE9 より前...

2つのVirtualBox仮想ネットワークをブリッジするLinuxブリッジメソッドの手順

この記事は、この時期の「ピーターから奪ってポールに払う」という仕事のスタイルに対する私の不満から生ま...