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

MySQLフィールドをデフォルト値にリセットしますか?


MySQLでは、MySQLフィールドをデフォルト値にリセットする方法が2つあります。 1つはデフォルトのキーワードで、もう1つはdefault()関数です。

ケース1 :デフォルトのキーワードを使用します。構文は次のとおりです。

UPDATE yourTableName SET yourColumnName=default where yourCondition;

ケース2 :default()関数を使用します。構文は次のとおりです。

UPDATE yourTableName SET yourColumnName=default(yourColumnName) where yourCondition;

上記の構文を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです。

mysql> create table Default_Demo
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> Name varchar(20),
   -> Age int,
   -> Salary float,
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (0.73 sec)

挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。クエリは次のとおりです。

mysql> insert into Default_Demo(Name,Age,Salary) values('John',23,405.56);
Query OK, 1 row affected (0.18 sec)
mysql> insert into Default_Demo(Name,Age,Salary) values('Carol',25,1000.98);
Query OK, 1 row affected (0.22 sec)
mysql> insert into Default_Demo(Name,Age,Salary) values('Larry',21,987.24);
Query OK, 1 row affected (0.09 sec)
mysql> insert into Default_Demo(Name,Age,Salary) values('Sam',24,986.10);
Query OK, 1 row affected (0.17 sec)
mysql> insert into Default_Demo(Name,Age,Salary) values('Mike',22,10000.50);
Query OK, 1 row affected (0.17 sec)
mysql> insert into Default_Demo(Name,Age,Salary) values('David',26,100.45);
Query OK, 1 row affected (0.20 sec)

selectステートメントを使用して、テーブルのすべてのレコードを表示します。クエリは次のとおりです。

mysql> select *from Default_Demo;

出力は次のとおりです。

+----+-------+------+---------+
| Id | Name  | Age  | Salary  |
+----+-------+------+---------+
|  1 | John  |   23 | 405.56  |
|  2 | Carol |   25 | 1000.98 |
|  3 | Larry |   21 | 987.24  |
|  4 | Sam   |   24 | 986.1   |
|  5 | Mike  |   22 | 10000.5 |
|  6 | David |   26 | 100.45  |
+----+-------+------+---------+
6 rows in set (0.00 sec)

MySQLフィールドをデフォルト値にリセットするためのクエリは次のとおりです。

ケース1: デフォルトのキーワードを使用します。クエリは次のとおりです。

mysql> update Default_Demo set Age=Default where Id=6;
Query OK, 1 row affected (0.10 sec)
Rows matched: 1 Changed: 1 Warnings: 0

これで、テーブルレコードを確認できます。Age列はNULLで、Idは6です。クエリは次のとおりです。

mysql> select *from Default_Demo;

出力は次のとおりです。

+----+-------+------+---------+
| Id | Name  | Age  | Salary  |
+----+-------+------+---------+
|  1 | John  |   23 | 405.56  |
|  2 | Carol |   25 | 1000.98 |
|  3 | Larry |   21 | 987.24  |
|  4 | Sam   |   24 | 986.1   |
|  5 | Mike  |   22 | 10000.5 |
|  6 | David | NULL | 100.45  |
+----+-------+------+---------+
6 rows in set (0.00 sec)

Age列がデフォルト値NULLで更新されたId6を見てください。

ケース2: これで、default()関数も使用できるようになりました。ここで、Idが6のデフォルト値でSalary列を更新します。クエリは次のとおりです。

mysql> update Default_Demo set Salary=Default(Salary) where Id=6;
Query OK, 1 row affected (0.21 sec)
Rows matched: 1 Changed: 1 Warnings: 0

次に、Idが6であるテーブルレコードを確認します。

mysql> select *from Default_Demo where Id=6;

出力は次のとおりです。

+----+-------+------+--------+
| Id | Name  | Age  | Salary |
+----+-------+------+--------+
|  6 | David | NULL | NULL   |
+----+-------+------+--------+
1 row in set (0.00 sec)

給与列を見ると、デフォルト値のNULLが正常に更新されています。


  1. 列の値を置き換えるMySQLクエリ

    まずテーブルを作成しましょう- mysql> create table DemoTable (    StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,    Score int ); Query OK, 0 rows affected (0.45 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable(Score) values(56); Query OK, 1 row affected (0.24 sec)

  2. フィールド値からコンマをカウントするMySQLクエリ?

    以下は構文です- select length(yourColumnName) - length(replace(yourColumnName, ',', '')) as anyAliasName from yourTableName; まずテーブルを作成しましょう- mysql> create table DemoTable1510    -> (    -> Value varchar(50)    -> ); Query OK, 0 rows affected (6.75