包含字符串、数字和特殊字符的 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)

更新于: 06-Apr-2020

641 次浏览

启动你的 职业生涯

完成课程获得认证

开始
广告