MySQL列(スワップ)の「a」と「b」の値のみを使用して、「a」レコードを「b」で更新し、「b」を「a」で更新しますか?
これには、CASEステートメントを使用します。まずテーブルを作成しましょう-
mysql> create table DemoTable ( Value char(1) ); Query OK, 0 rows affected (1.21 sec)
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable values('a'); Query OK, 1 row affected (0.16 sec) mysql> insert into DemoTable values('b'); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable values('a'); Query OK, 1 row affected (0.09 sec) mysql> insert into DemoTable values('a'); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable values('b'); Query OK, 1 row affected (0.09 sec) mysql> insert into DemoTable values('a'); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable values('b'); Query OK, 1 row affected (0.13 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する
mysql> select *from DemoTable;
これにより、次の出力が生成されます-
+-------+ | Value | +-------+ | a | | b | | a | | a | | b | | a | | b | +-------+ 7 rows in set (0.00 sec)
以下は、「a」レコードを「b」で更新し、「b」を「a」で更新するクエリです-
mysql> update DemoTable set Value=case when Value='a' then 'b' else 'a' end; Query OK, 7 rows affected (0.17 sec) Rows matched: 7 Changed: 7 Warnings: 0>
テーブルレコードをもう一度確認しましょう-
mysql> select *from DemoTable;
これにより、次の出力が生成されます-
+-------+ | Value | +-------+ | b | | a | | b | | b | | a | | b | | a | +-------+ 7 rows in set (0.00 sec)
-
MySQLの文字列値(文字列、数値、特殊文字)を含む列から特定のレコードをフェッチします
このために、ORDER BY CAST()を使用できます。例を見てみましょう- mysql> create table DemoTable2006 ( UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY, UserCode varchar(20) ); Query OK, 0 rows affected (1.14 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable2006(Us
-
文字列、数値、特殊文字などの列値でテーブルを更新するMySQL正規表現
このためには、REGEXPと一緒にUPDATEコマンドを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable2023 -> ( -> StreetNumber varchar(100) -> ); Query OK, 0 rows affected (0.59 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable2023 values('7'