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

推薦する

MySQL Strict Modeの知識ポイントの詳細な説明

I. 厳密モードの説明MySQL 5.0 以降の厳密モード (STRICT_TRANS_TABLES...

Docker ベースの ELK を素早く構築する方法

[概要] この記事では、自作の Docker プラットフォームをベースに完全な ELK システムを素...

vue3+electron12+dll 開発のためのクライアント構成の詳細な説明

目次リポジトリソースを変更する起動するvue-devtoolsを置き換える予防ボーダーレスウィンドウ...

CentOS7 で Jenkins+Maven+Git 継続的インテグレーション環境を構築する方法

この記事では、Spring boot + Maven プロジェクトのデプロイメントを例に、Code ...

MySQL 5.7.19 インストールディレクトリに my.ini ファイルを作成する方法

前回の記事では、MySQL 5.7.19 無償インストール版 (64 ビット) の設定方法についての...

ビジュアルデザインとインタラクションデザインについて

<br />製品設計プロセス全体において、ビジュアルデザインとインタラクションデザインの...

ブログデザイン ウェブデザイン デビュー

私がデザインした最初の Web ページは次のとおりです。 私はこの業界に7年間在籍し、プログラミング...

商品クエリ機能を実現するJavaScript

この記事の例では、商品検索機能を実現するためのJavaScriptの具体的なコードを参考までに共有し...

WeChatアプレット開発の章:落とし穴の記録

最近、会社初のミニプログラムの開発に参加しました。開発経験は基本的にWebViewをベースとしたハイ...

Quickjs は JavaScript サンドボックスの詳細をカプセル化します

目次1. シナリオ2. 基盤となるAPIを簡素化する2.1 自動的に破棄を呼び出す2.2 VM値を作...

webpackの遅延読み込みとプリロードの詳細な説明

目次通常の読み込み遅延読み込みプリロードプリロードを使用しないプリロードの使用要約する通常の読み込み...

Linux ユーザーとグループのコマンド例分析 [切り替え、ユーザーの追加、権限制御など]

この記事では、Linux のユーザーおよびグループのコマンドについて例を挙げて説明します。ご参考まで...

Linux コマンドラインで他のユーザーと通信する方法

Linux のコマンドラインで他のユーザーにメッセージを送信するのは簡単です。これを行うコマンドは多...

Linuxルートの初期値を設定する方法の簡単な分析

Ubuntu ではデフォルトで root ログインが許可されていないため、初期の root アカウン...

Vueトップタグ閲覧履歴の実装

目次ナンセンス実装された機能文章要点ナンセンスデモプレビュー実装された機能デフォルトでホームページが...