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

文字列、数値、特殊文字などの列値でテーブルを更新するMySQL正規表現


このためには、REGEXPと一緒にUPDATEコマンドを使用します。まずテーブルを作成しましょう-

mysql> create table DemoTable2023
   -> (
   -> StreetNumber varchar(100)
   -> );
Query OK, 0 rows affected (0.59 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable2023 values('7');
Query OK, 1 row affected (0.17 sec)

mysql> insert into DemoTable2023 values('1');
Query OK, 1 row affected (0.14 sec)

mysql> insert into DemoTable2023 values('AUS-100');
Query OK, 1 row affected (0.15 sec)

mysql> insert into DemoTable2023 values('US-101');
Query OK, 1 row affected (0.11 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select *from DemoTable2023;

これにより、次の出力が生成されます-

+--------------+
| StreetNumber |
+--------------+
| 7            |
| 1            |
| AUS-100      |
| US-101       |
+--------------+
4 rows in set (0.00 sec)

正規表現を使用してテーブルを更新するクエリは次のとおりです-

mysql> update DemoTable2023
   -> set StreetNumber=concat('Street',StreetNumber)
   -> where StreetNumber regexp'^[0-9]{1,2}$';
Query OK, 2 rows affected (0.19 sec)
Rows matched: 2 Changed: 2 Warnings: 0

テーブルレコードをもう一度確認しましょう-

mysql> select *from DemoTable2023;

これにより、次の出力が生成されます-

+--------------+
| StreetNumber |
+--------------+
| Street7      |
| Street1      |
| AUS-100      |
| US-101       |
+--------------+
4 rows in set (0.00 sec)

  1. MySQLUPDATEの列名とN/AでNone値を設定しますか?

    まずテーブルを作成しましょう- mysql> create table DemoTable1903    (    FirstName varchar(20),    LastName varchar(20) ,    Age int    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1903 values('Joh

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