MySQL におけるデフォルトの使用法の詳細な説明

MySQL におけるデフォルトの使用法の詳細な説明

NULL および NOT NULL 修飾子、DEFAULT 修飾子、AUTO_INCREMENT 修飾子。

NULL および NOT NULL 修飾子

各フィールドの後に NULL または NOT NULL 修飾子を追加して、フィールドを空 (NULL) にできるかどうかを指定できます。

それとも、データを入力する必要がある(NULLではない)ことを意味しますか。 MySQLはデフォルトでフィールドをNULL修飾子として指定します。フィールドがNOT NULLとして指定されている場合、

これは「ルール」であるため、MySQL ではこのフィールドに null 値を挿入することはできません (ここで言及されている null 値はすべて NULL です)。

/* 
id、name、pass が空にならないフレンド テーブルを作成します*/ 
テーブル友達を作成( 
id int(3) が null ではない、 
名前varchar(8)がnullでない、 
varchar(20)をnull以外で渡す 
); 
/* 
エラー メッセージ: id 列は空にできません #1048 - 列 'id' は null にできません 
*/ 
友達に挿入 
値 ( 
NULL 、 'シマオピグ'、 'シマオピグ' 
);

ただし、このルールは自動インクリメント列と TIMESTAMP フィールドには適用されません。

これらの列に NULL 値を挿入すると、次の自動増分値または現在のタイムスタンプが挿入されます。

DEFAULT 修飾子

DEFAULT 修飾子を使用して、フィールドのデフォルト値を設定できます。

レコードを挿入するときにフィールドの値を渡すことを忘れた場合、MySQL は自動的にフィールドのデフォルト値を設定します。

/* 
imテーブルを作成し、名前フィールドをデフォルト値「QQ」に設定します。 
*/ 
テーブルimを作成( 
id int(3) が null ではない、 
名前 varchar(25) nullでない デフォルト 'QQ' 
); 
/* 
データを挿入するときに、名前フィールドに値を渡さないでください。MySQL はデフォルト値を設定します。実行した SQL ステートメントは正常に実行されました。 
*/ 
im( id, name ) VALUES( 2, 'MSN' ) に挿入します。 
im(id)VALUES(3)に挿入します。 
SELECT * FROM im LIMIT 0, 30; 
/* 
ID名 
2 MSN 
3 QQ 
*/

列に DEFAULT 修飾子が指定されていない場合、MySQL は列が NULL か NOT NULL かに基づいてデフォルト値を自動的に設定します。

指定されたフィールドが NULL になる可能性がある場合、MySQL はデフォルト値を NULL に設定します。

NOT NULL フィールドの場合、MySQL は数値型の場合は 0 を挿入し、文字列型の場合は空の文字列を挿入します。

TIMESTAMP 型は現在の日付と時刻を挿入し、ENUM 型は列挙グループの最初のエントリを挿入します。

AUTO_INCREMENT 修飾子

AUTO_INCREMENT 修飾子は INT 列にのみ適用され、MySQL が列の番号を自動的に生成することを示します。

(毎回最後に生成された値に 1 を加算します)。これは主キー(後述)に非常に便利です。

開発者が MySQL を使用して各レコードに一意の識別子を作成できるようになるためです。

/* 
実行した SQL ステートメントは正常に実行されました。 (クエリには 0.0170 秒かかりました) 
*/ 
テーブル項目の作成( 
id int( 5 ) NOT NULL AUTO_INCREMENT 主キー, 
ラベル varchar(255) NOT NULL 
); 
/* 
3つのレコードを挿入し、IDを指定せず、デフォルト値を使用し、AUTO_INCREMENTを追加します。 
実行した SQL ステートメントは正常に実行されました。 
*/ 
items(label) に values ​​('xxx') を挿入します。 
items(label) values ​​('yyy') に挿入します。 
items(label) に values ​​('zzz') を挿入します。 
/* 
すべてを表示し、データを確認し、IDの変更に注意してください*/ 
項目から*を選択します。 
/* 
IDラベル 
1 xxx 
2年 
3 zzz 
*/

MySQL テーブルには AUTO_INCREMENT 列が 1 つだけ存在でき、この列はキーとして定義する必要があります。

MySQL では、列制約に加えて、主キー、外部キー、インデックス、一意制約などのテーブル レベルの制約も使用できます。

要約する

以上が、編集者による MySQL の default の使用法の紹介です。皆様のお役に立てれば幸いです。ご質問がございましたら、メッセージを残していただければ、編集者がすぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • Windows 64 ビット版 MySQL 5.7 以降の解凍パッケージにデータディレクトリと my-default.ini がなく、サービスが起動できない問題の簡単な解決方法 (問題概要)
  • Linux での MySQL 5.7.18 バイナリ パッケージのインストール チュートリアル (デフォルトの構成ファイル my_default.cnf なし)
  • MySQL 5.6 の TIMESTAMP とexplicit_defaults_for_timestamp パラメータ
  • 暗黙の DEFAULT 値を持つ TIMESTAMP は MySQL 5.6 で非推奨エラーとなる
  • MySQL フィールド '***' にデフォルト値がありませんエラーの解決方法
  • MYSQL を起動できず、プロンプトが表示されます: デフォルトのストレージ エンジン (InnoDB) が利用できません。解決策
  • デフォルトのストレージエンジン (InnoDB) が利用できないために MySQL が起動に失敗する問題を修正する方法

<<:  Vue での mixin の応用について議論する

>>:  React Native が「NSArray<id<RCTBridgeModule>>型のパラメータを初期化できません」というエラーを報告する (解決方法)

推薦する

MySQL LOAD_FILE() 関数メソッドの概要

MySQL では、LOAD_FILE() 関数はファイルを読み取り、その内容を文字列として返します。...

localStorageの有効期限を設定するいくつかの方法

目次問題の説明1. 基本的な解決策2. 中間的な解決策3. 高度なソリューション4. ハードコアソリ...

JavaScript の基礎: スコープ

目次範囲グローバルスコープ関数のスコープもし、スイッチ、のために、その間ブロックスコープスコープチェ...

メタタグのビューポートはデバイス画面のCSSを制御します

コードをコピーコードは次のとおりです。 <meta name="viewport&q...

略語マークと頭字語マーク

<abbr>タグと<acronym>タグは、Web ページに表示される略語と...

MySql の 4 つのトランザクション分離レベルについて簡単に説明します。

分離レベル:隔離はあなたが考えるよりも複雑です。 SQL 標準では 4 つの分離レベルが定義されてお...

Linux 基本チュートリアル: 特別な権限 SUID、SGID、SBIT

序文Linux のファイルまたはディレクトリの権限については、共通の rwx 権限を知っておく必要が...

MYSQL は、指定されたユーザーのランキングとクエリを実装します。ランキング関数 (並列ランキング関数) のサンプルコード

序文この記事は主に、MYSQL でランキングを実現し、指定ユーザーランキング関数 (並列ランキング関...

Vueでドラッグ可能なコンポーネントを実装する方法

この記事では、Vueでドラッグ可能なコンポーネントとドラッグ可能なコンポーネントを実装する方法を参考...

Vuex のコアコンセプトと基本的な使用法の詳細な説明

目次導入始めるインストール①直接ダウンロードする方法②CND法③NPM方式④糸法NPMインストールの...

Nginx 逆生成 Mogilefs 分散ストレージ例の詳細な説明

1. 分散ストレージシステムの概要情報技術の継続的な発展により、利便性がもたらされる一方で、データ量...

77.9K の GitHub リポジトリを持つ Axios プロジェクト: 学ぶ価値のあることは何でしょうか?

目次序文1. Axiosの紹介2. HTTPインターセプターの設計と実装2.1 インターセプターの紹...

JavaScript ESの新機能letとconstキーワードに基づく

目次1. letキーワード1.1 基本的な使い方1.2 変動昇進はない1.3 一時的なデッドゾーン1...

Linux環境でユーザーにsudo権限を追加する方法

sudo 設定ファイルsudo のデフォルトの設定ファイルは /etc/sudoers です。一般的...

32 典型的な列/グリッドベースのウェブサイト

列ベースの Web デザインのインスピレーションをお探しの場合は、32 個のクラシックな列/グリッド...