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である問題を解決する

推薦する

Windows での MySQL インストール チュートリアル (画像とテキスト付き)

MySQL インストール手順 MySQL は、スウェーデンの MySQL AB によって開発された...

コンテンツタイプの説明、つまりHTTPリクエストヘッダーのタイプ

コンテンツ タイプについて学ぶには、まずそれが何であるか、そして何に使用されるかを知る必要があります...

Dockerはポートマッピングを設定しますが、ソリューションにアクセスできません

#docker ps チェック、すべてのポートがマップされています コンテナID イメージ コマンド...

MySQLのネストされたトランザクションで発生する問題

MySQL はネストされたトランザクションをサポートしていますが、それを実行する人は多くありません....

MySQL 8.0.11 インストール概要チュートリアル図

インストール環境: CAT /etc/os-release CentOS システムのバージョン情報を...

iviewは動的なフォームとカスタム検証期間の重複を実装します

フォーム項目を動的に追加するiview の動的なフォーム追加は非常に簡単です。フォーム項目を配列に設...

OpenSSL は双方向認証のチュートリアルを実装します (サーバーとクライアントのコード付き)

1. 背景1.1 問題点最近の製品テスト レポートでは、PKI ベースの認証方法の使用が推奨されて...

データ型の判断における js typeof と instanceof の違いと、その開発と使用について

目次1. typeof演算子2. インスタンスオブ演算子3. typeof と instanceof...

Firefox で Webdings フォントをサポートする方法

Firefox、Opera、その他のブラウザは Webdings フォントをサポートしていません。回...

vue data が関数である理由をご存知ですか?

公式サイトの説明: コンポーネントを定義する場合、コンポーネントは複数のインスタンスを作成するために...

Docker+Jenkinsを使用して自動的にビルドおよびデプロイする

この記事では、Docker+Jenkins の自動ビルドデプロイメントを紹介し、皆さんと共有します。...

Nodejs プラグインと使用方法の概要

このチュートリアルの動作環境: Windows 7 システム、nodejs バージョン 12.19....

Docker の MySQL コンテナのタイムゾーン問題の修正

序文Ahhang が Springboot プロジェクトを開発していたとき、フロントエンドから検証コ...

6秒でMySQLに100万件のレコードを挿入する方法を教えます

1. アイデアMySQL に 1,000,000 件のレコードを挿入するのにたった 6 秒しかかかり...

CSS3 フィルターの違いと応用の詳しい説明:ドロップシャドウフィルターとボックスシャドウ

標準 CSS3 を使用して要素の影の効果を実現するには、2 つの手順があります。1 つ目は一般的なb...