MySQL のデフォルト値制約の使用方法

(*-*)浩
リリース: 2019-05-11 09:32:53
オリジナル
6713 人が閲覧しました

この記事では、デフォルトの制約、その使用方法、および変更後の効果を紹介します。

推奨コース: MySQL チュートリアル

MySQL のデフォルト値制約の使用方法

一般的に使用されるデータベース制約:

default デフォルト制約;

not null: 非 null 制約、特定の列を指定します。列は NULL ではありません;

unique: 一意制約、特定の列のデータおよび複数の列の組み合わせが繰り返されないことを指定します;

primary key: 主キー制約、指定します特定の列のデータが空ではなく、一意であり、繰り返すことができないこと;

外部キー: 外部キー、列レコードがメイン テーブルのレコードに属し、別のデータを参照していることを指定します。

check: チェック、検証用の式を指定します データを指定します;


1.default は、次のデフォルト値を定義します。列

テーブルに新しい行を挿入する場合、列に割り当てられる明示的な値はありません。列のデフォルト値が定義されている場合は、デフォルト値が自動的に取得されます。そうでない場合は、(NULL) になります。

 -- 创建一张user表
CREATE TABLE `test`.`user`(  
  `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `name` VARCHAR(225) COMMENT '姓名',
  `sex` TINYINT(1) DEFAULT 1 COMMENT '性别 1男 0女',
  PRIMARY KEY (`id`)
) ENGINE=INNODB CHARSET=utf8 COLLATE=utf8_general_ci
ログイン後にコピー
フィールドにデフォルトの制約を追加します:

1.在创建表时:直接在字段类型的后面加上 DEFAULT(value),具体看创建user表时的sex字段;
2.在存在表的情况下添加:
  使用sql语句 ALTER TABLE `user` MODIFY `sex` TINYINT(1) DEFAULT 1; 即可为添加 `sex` 字段添加默认约束;
  使用sql语句 ALTER TABLE `user` MODIFY `name` VARCHAR(225)DEFAULT '小明'; 即可为添加 `name` 字段添加默认约束;

tips:默认约束是不可以使用函数的,所以 ALTER TABLE `user` ADD COLUMN `date` DATETIME DEFAULT NOW() AFTER `sex`; 是不可行的。
ログイン後にコピー

デフォルトの制約を削除します:

移除默认约束和添加默认约束操作方式一样,都是修改表的字段;
ALTER TABLE `user` MODIFY `sex` TINYINT(1); 
这样就移除了sex的默认约束。
ログイン後にコピー
次に、データを挿入します:

INSERT INTO `user`(`name`) VALUES('小明');

SELECT * FROM `user`;

结果:
-----------------------------------
id   name   sex 
   小明    1
-----------------------------------
ログイン後にコピー

もちろん、次のこともできます:

INSERT INTO `user`(`name`,`sex`) VALUES('小明',DEFAULT);
SELECT * FROM `user`;

结果:
---------------------------------
id     name     sex 
     小明        1
---------------------------------
ログイン後にコピー

これを行う場合:

INSERT INTO `user`(`sex`) VALUES(DEFAULT);
SELECT * FROM `user`;

结果:
-----------------------------------
id   name    sex 
   (NULL)   1
-----------------------------------
ログイン後にコピー

ヒント: DEFAULT を使用して更新とクエリの両方を操作できます;

-- 查询sex字段的默认值  SELECT DEFAULT(`sex`) FROM `user`; 
-- 更新sex为默认值 UPDATE `user` SET `sex` = DEFAULT WHERE `id`='1';
ログイン後にコピー
###

以上がMySQL のデフォルト値制約の使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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