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>>型のパラメータを初期化できません」というエラーを報告する (解決方法)

推薦する

スクロールバーのスタイルを設定するための CSS サンプルコード

スクロール バーのスタイルを設定するための CSS 実装コードは次のとおりです。 •::-webki...

メタを使用してトラフィックキャッシュをキャンセルし、ページにアクセスするたびにページを更新して簡単にデバッグできるようにします。

コードをコピーコードは次のとおりです。 <!-- ブラウザがローカル キャッシュからページにア...

ウェブページのコアコンテンツ(画像とテキスト)の視覚的表現の紹介

情報の最適化と改良は常にデザインの最初のステップです。 「これは百度アライアンスユーザーエクスペリエ...

IE9 のネイティブ ページ互換性の問題に対する解決策についての簡単な説明

序文最近、クライアントのネイティブページを引き継ぎました。顧客は、ページが IE9 以降のバージョン...

HTML フォーム タグの使用方法を学ぶチュートリアル

HTML のフォームを使用して、ユーザーからさまざまな種類の入力情報を収集できます。フォームは、実際...

PHP クラスにおける static と self の違いの簡単な分析

メソッドが定義されているクラスに応じて、現在のクラスへの静的参照を取得するには、self:: または...

XHTML 入門チュートリアル: XHTML Web ページ画像アプリケーション

<br />適度に画像を追加すると、Web ページがより美しくなります。 画像タグ &l...

選択/フォーカス時にすべてのオプションをリストする現在のより良い方法

開発中にこのような要件に遭遇したので、将来使用するために記録しました。需要背景キーボード ショートカ...

ウェブページを最適化してメモリとCPUの使用率を削減

一部の Web ページは大きく見えなくても開くのに非常に時間がかかる場合があります。一方、他の We...

ハイパーリンクを使用してリンクファイルを開く HTML 方式の紹介

a および href 属性 HTML では、英語ではアンカーと呼ばれるハイパーリンクを表すために &...

HTML シンプルショッピング数量アプレット

この記事では、参考までにシンプルなHTMLショッピング数量アプレットを紹介します。具体的な内容は次の...

美しいチェックボックススタイル(複数選択ボックス)はIE8/9/10、FFなどと完全に互換性があります。

恥ずかしながら、このようなよく使われるチェックボックスのスタイルを変更するために、Baidu で長い...

Linux でハードディスクのサイズを確認し、ハードディスクをマウントする方法

Linux には、マウントされたハードディスクとマウントされていないハードディスクの 2 種類のハー...

GaussDB for MySQL パフォーマンス最適化の詳細な説明

目次背景インスピレーションは人生から生まれる速達配送の最適化原則GaussDB の最適化 (MySQ...