MySQL 是否可以更新正则表达式?
无法使用正则表达式更新,即需要使用 LIKE 运算符来代替正则表达式。MySQL 不支持使用正则表达式进行更新。LIKE 运算符如下所示
UPDATE yourTableName SET yourColumnName= REPLACE(yourColumnName,yourValue)', '' ) WHERE yourColumnNameLIKE '%yourValueThatWillReplace)%';
为了理解上述语法,我们创建一个表。
mysql> create table Replace_Demo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Value varchar(20), -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (0.62 sec)
使用 insert 命令在表中插入一些记录。查询如下所示
mysql> insert into Replace_Demo(Value) values('221)');
Query OK, 1 row affected (0.22 sec)
mysql> insert into Replace_Demo(Value) values('321');
Query OK, 1 row affected (0.24 sec)
mysql> insert into Replace_Demo(Value) values('354)');
Query OK, 1 row affected (0.18 sec)
mysql> insert into Replace_Demo(Value) values('223)');
Query OK, 1 row affected (0.09 sec)
mysql> insert into Replace_Demo(Value) values('446');
Query OK, 1 row affected (0.13 sec)使用 select 语句从表中显示所有记录。查询如下所示
mysql> select *from Replace_Demo;
以下是输出内容
+----+-------+ | Id | Value | +----+-------+ | 1 | 221) | | 2 | 321 | | 3 | 354) | | 4 | 223) | | 5 | 446 | +----+-------+ 5 rows in set (0.00 sec)
以下是对 LIKE 运算符(而非正则表达式)的更新查询
mysql> update Replace_Demo set Value = REPLACE(Value,'221)', '' ) -> WHERE Value like '%221)%'; Query OK, 1 row affected (0.21 sec) Rows matched: 1 Changed: 1 Warnings: 0
现在,使用 select 语句再次查看表记录。查询如下所示
mysql> select *from Replace_Demo;
以下是输出内容
+----+-------+ | Id | Value | +----+-------+ | 1 | | | 2 | 321 | | 3 | 354) | | 4 | 223) | | 5 | 446 | +----+-------+ 5 rows in set (0.00 sec)
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
JavaScript
PHP