mysqlはデフォルト値を設定します

王林
リリース: 2023-05-23 09:09:37
オリジナル
9642 人が閲覧しました

MySQL は、広く使用されているリレーショナル データベース管理システムです。 MySQL では、テーブル内のカラムにデフォルト値を設定して、新しい行が挿入されるときに、ユーザーがカラムの値を指定しない場合、カラムには自動的にデフォルト値が設定されるようにすることができます。この記事では、MySQL でデフォルト値を設定する方法について説明します。

  1. デフォルト値は何ですか?

デフォルト値は、テーブルに新しい行が挿入されるときに列に自動的に設定される値です。ユーザーが列の値を指定しない場合、システムは自動的にデフォルト値を列に設定します。ユーザーが値を指定すると、その値が列の値として使用されます。

  1. デフォルト値を設定するにはどうすればよいですか?

MySQL では、DEFAULT キーワードを使用してデフォルト値を設定できます。このキーワードは、新しい行を挿入するときにデフォルト値を使用するようにシステムに指示します。次に例を示します。

最初に、id、ユーザー名、電子メールの 3 つの列を持つ単純なテーブルを作成しましょう。

CREATE TABLE users(
id INT NOT NULL AUTO_INCREMENT ,
username VARCHAR(50) NOT NULL,
email VARCHAR(50) NOT NULL,
PRIMARY KEY (id)
);

次に、テーブルに新しい列を追加します。 created_at を、各ユーザーの作成日時を含むデフォルト値に置き換えます:

ALTER TABLE users ADD created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP;

上記のステートメントでは、ADD キーワードを使用して、テーブルに新しい列を追加します。 DEFAULT CURRENT_TIMESTAMP 句を使用して、この列のデフォルト値を現在のタイムスタンプに設定します。つまり、新しい行を挿入すると、システムは自動的に created_at 列を現在の時刻に設定します。

定数を使用してデフォルト値を設定することもできます。たとえば、ブール列を設定したい場合は、次のステートメントを使用できます:

ALTER TABLE users ADD is_active BOOLEAN DEFAULT TRUE;

上記のステートメントでは、DEFAULT 句を使用します。ブール列のデフォルト値は TRUE です。

  1. デフォルト値を変更するにはどうすればよいですか?

列のデフォルト値を変更したい場合は、ALTER TABLE ステートメントを使用できます。たとえば、created_at 列のデフォルト値を 2020 年 1 月 1 日に変更してみましょう:

ALTER TABLE users MODIFY created_at TIMESTAMP DEFAULT '2020-01-01 00:00:00';

上記のステートメントでは、MODIFY キーワードを使用して、created_at 列のデータ型とデフォルト値を変更します。 DEFAULT 句でデフォルトの日付と時刻を指定しました。これは、新しい行を挿入するときに自動的に使用されます。

  1. デフォルト値を削除するにはどうすればよいですか?

列のデフォルト値を削除したい場合は、ALTER TABLE ステートメントを使用できます。たとえば、created_at 列のデフォルト値を削除してみましょう:

ALTER TABLE users ALTER COLUMN created_at DROP DEFAULT;

上記のステートメントでは、ALTER COLUMN コマンドを使用してデフォルト値を削除します。 created_at 列の。

  1. デフォルト値を確認するにはどうすればよいですか?

列のデフォルト値を表示するには、DESCRIBE または SHOW CREATE TABLE ステートメントを使用できます。たとえば、次は DESCRIBE ステートメントを使用して users テーブルの詳細を表示します:

DESCRIBE users;

出力は次のとおりです:

#フィールドタイプNullキーデフォルト追加idint(11)NOPRINULLauto_increment ユーザー名varchar(50)NONULLemailvarchar(50)NONULL created_attimestampYESNULLis_activetinyint(1)YES1
上記の表では、created_at 列のデフォルト値が NULL であることがわかります。これは、列にデフォルト値がないことを示しています。また、users テーブルの完全な作成ステートメントを表示することもできます:

SHOW CREATE TABLE users;

出力は次のとおりです:

CREATE TABLE

users (
id int(11) NOT NULL AUTO_INCREMENT,
username varchar(50) NOT NULL,
email varchar(50 ) NOT NULL,
created_at タイムスタンプ NULL DEFAULT NULL,
is_active tinyint(1) DEFAULT '1', 主キー (
id##) #) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
上記の表では、created_at 列のデフォルト値が NULL であることがわかります。

概要
  1. MySQL でのデフォルト値の設定は便利なテクニックです。 DEFAULT キーワードを使用してデフォルト値を設定でき、ALTER TABLE ステートメントを使用してデフォルト値を変更または削除できます。テーブルの詳細を表示すると、列のデフォルト値について知ることができます。デフォルト値を使用すると、挿入ステートメントを作成する労力が軽減され、ユーザーが値を指定しない場合、システムは事前定義された値を使用します。

以上がmysqlはデフォルト値を設定しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート