2つの列の値を交換してMySQLテーブルを更新するにはどうすればよいですか?
列内の2つの値を交換するには、CASEWHENステートメントを使用します。まずテーブルを作成しましょう-
mysql> create table DemoTable1382 -> ( -> StudentName varchar(20) -> ); Query OK, 0 rows affected (0.57 sec)
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable1382 values('John'); Query OK, 1 row affected (0.17 sec) mysql> insert into DemoTable1382 values('Chris'); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable1382 values('Adam'); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable1382 values('Bob'); Query OK, 1 row affected (0.17 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select * from DemoTable1382;
これにより、次の出力が生成されます-
+-------------+ | StudentName | +-------------+ | John | | Chris | | Adam | | Bob | +-------------+ 4 rows in set (0.00 sec)
以下は、2つの列の値を交換してMySQLテーブルを更新するためのクエリです-
mysql> update DemoTable1382 -> set StudentName=( case when StudentName="Chris" then "John" -> when StudentName="John" then "Chris" -> else -> StudentName -> end -> ); Query OK, 2 rows affected (0.19 sec) Rows matched: 4 Changed: 2 Warnings: 0
テーブルレコードをもう一度確認しましょう-
mysql> select * from DemoTable1382;
これにより、次の出力が生成されます-
+-------------+ | StudentName | +-------------+ | Chris | | John | | Adam | | Bob | +-------------+ 4 rows in set (0.00 sec)
-
MySQLテーブルストレージエンジンを更新する方法
MySQLテーブルエンジンを更新するには、次の構文に従います- 構文 alter table yourTableName ENGINE=InnoDB; まずテーブルを作成しましょう- mysql> create table DemoTable -> ( -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> StudentName varchar(20), -> StudentAge int, &nbs
-
MySQLテーブルをバッチ更新する方法は?
最初にテーブルを作成しましょう- mysql> create table DemoTable -> ( -> BreakfastTime time -> ); Query OK, 0 rows affected (0.59 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('7:30:45'); Query OK, 1 row affected (0.19 sec) my