nullを許可するが、デフォルトでは空(nullではない)に設定されている列をテーブルに作成しますか?
これにはデフォルトのキーワードを使用する必要があります。構文は次のとおりです-
alter table yourTableName add yourColumnName yourDataType NULL Default '';
上記の構文を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです-
mysql> create table AllowNullDefaulNotNullDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> UserName varchar(20), -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (0.65 sec)
NULL値を許可するが、デフォルト値はNOTNULLに設定される新しい列を追加しましょう。クエリは次のとおりです-
mysql> alter table AllowNullDefaulNotNullDemo add UserAddress varchar(20) NULL Default''; Query OK, 0 rows affected (1.04 sec) Records: 0 Duplicates: 0 Warnings: 0
次に、DESCコマンドを使用してテーブルの説明を確認します。クエリは次のとおりです-
mysql> desc AllowNullDefaulNotNullDemo;
以下は出力です-
+-------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+-------------+------+-----+---------+----------------+ | Id | int(11) | NO | PRI | NULL | auto_increment | | UserName | varchar(20) | YES | | NULL | | | UserAddress | varchar(20) | YES | | | | +-------------+-------------+------+-----+---------+----------------+ 3 rows in set (0.17 sec)
これで、insertコマンドを使用してテーブルにいくつかのレコードを挿入できます。以下のクエリでは、列UserAddressはNULL値を許可し、デフォルトの設定値はNOTNULLに設定されています。
この列にレコードを挿入しましょう。クエリは次のとおりです-
mysql> insert into AllowNullDefaulNotNullDemo(UserAddress) values('US'); Query OK, 1 row affected (0.14 sec) mysql> insert into AllowNullDefaulNotNullDemo(UserAddress) values(NULL); Query OK, 1 row affected (0.16 sec) mysql> insert into AllowNullDefaulNotNullDemo() values(); Query OK, 1 row affected (0.12 sec)
新しく追加された列の特定のレコード、つまりUserAddressを確認します。クエリは次のとおりです-
mysql> select UserAddress from AllowNullDefaulNotNullDemo;
以下は出力です-
+-------------+ | UserAddress | +-------------+ | US | | NULL | | | +-------------+ 3 rows in set (0.00 sec)
-
MySQLの既存の列にNOTNULL属性を設定します
NOT NULL属性を既存の列に設定するには、ALTERTABLEコマンドを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1949 ( UserId int, UserName varchar(20) ); Query OK, 0 rows affected (0.00 sec) これは、既存の列にNOTNULL属性を設定するためのクエリです- mysql> alter table DemoTable1949 modify
-
MySQLのデフォルト値をJSONタイプの列に設定しますか?
デフォルト値を設定するには、次の構文のようにDEFAULT制約を使用します- alter table yourTableName modify column yourColumnName JSON NOT NULL DEFAULT ( JSON_OBJECT() ); テーブルを作成しましょう- mysql> create table demo24 −> ( −> employee_information text −> ) −> ; Query OK, 0 rows affected (1.43 sec) これ