MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

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)

  1. 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

  2. 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) これ