如何从MySQL中的数据库字段中删除特殊字符?
您可以使用REPLACE()
函数从数据库字段中删除特殊字符。特殊字符是双引号(“”),数字符号(#),美元符号($),百分比(%)等。
语法如下,以从数据库字段中删除特殊字符。
UPDATE yourTableName SET yourColumnName=REPLACE(yourColumnName,’yourSpecialCharacters’,’’);
为了理解上述语法,让我们创建一个表。创建表的查询如下:
mysql> create table RemoveSpecialCharacterDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(20), -> PRIMARY Key(Id) -> );
使用insert命令在表中插入一些记录。查询如下:
mysql> insert into RemoveSpecialCharacterDemo(Name) values('$John'); mysql> insert into RemoveSpecialCharacterDemo(Name) values('$Carol'); mysql> insert into RemoveSpecialCharacterDemo(Name) values('$Mike'); mysql> insert into RemoveSpecialCharacterDemo(Name) values('$Sam'); mysql> insert into RemoveSpecialCharacterDemo(Name) values('$Dav$id$'); mysql> insert into RemoveSpecialCharacterDemo(Name) values('Robert$'); mysql> insert into RemoveSpecialCharacterDemo(Name) values('J$ames$'); mysql> insert into RemoveSpecialCharacterDemo(Name) values('Max$well$');
使用select语句显示表中的所有记录。查询如下:
mysql> select *from RemoveSpecialCharacterDemo;
以下是输出:
+----+-----------+ | Id | Name | +----+-----------+ | 1 | $John | | 2 | $Carol | | 3 | $Mike | | 4 | $Sam | | 5 | $Dav$id$ | | 6 | Robert$ | | 7 | J$ames$ | | 8 | Max$well$ | +----+-----------+ 8 rows in set (0.00 sec)
这是使用REPLACE()
以下命令从数据库字段中删除特殊字符的查询:
mysql> update RemoveSpecialCharacterDemo -> set Name=replace(Name,'$',''); Rows matched: 8 Changed: 8 Warnings: 0
再次检查表记录。显示所有记录的查询如下:
mysql> select *from RemoveSpecialCharacterDemo;
以下是输出:
+----+---------+ | Id | Name | +----+---------+ | 1 | John | | 2 | Carol | | 3 | Mike | | 4 | Sam | | 5 | David | | 6 | Robert | | 7 | James | | 8 | Maxwell | +----+---------+ 8 rows in set (0.00 sec)
看一下示例输出,特殊字符$已从表中完全删除。