包含字符串、数字和特殊字符的 MySQL 正则表达式以使用列值更新表
为此,请使用带有 REGEXP 的 UPDATE 命令。我们先创建一个表 -
mysql> create table DemoTable2023 -> ( -> StreetNumber varchar(100) -> ); Query OK, 0 rows affected (0.59 sec)
使用 insert 命令在表中插入一些记录 -
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)
广告