如何使用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)
-> );
查询成功,受影响的行数为0(用时0.59秒)
使用insert命令向表中插入一些记录。查询语句如下:
mysql> insert into RemoveSpecialCharacterDemo(Name) values('John');
查询成功,受影响的行数为1(用时0.29秒)
mysql> insert into RemoveSpecialCharacterDemo(Name) values('Carol');
查询成功,受影响的行数为1(用时0.16秒)
mysql> insert into RemoveSpecialCharacterDemo(Name) values('Mike');
查询成功,受影响的行数为1(用时0.17秒)
mysql> insert into RemoveSpecialCharacterDemo(Name) values('Sam');
查询成功,受影响的行数为1(用时0.14秒)
mysql> insert into RemoveSpecialCharacterDemo(Name) values('David');
查询成功,受影响的行数为1(用时0.17秒)
mysql> insert into RemoveSpecialCharacterDemo(Name) values('Robert');
查询成功,受影响的行数为1(用时0.30秒)
mysql> insert into RemoveSpecialCharacterDemo(Name) values('James');
查询成功,受影响的行数为1(用时0.13秒)
mysql> insert into RemoveSpecialCharacterDemo(Name) values('Maxwell');
查询成功,受影响的行数为1(用时0.27秒)
使用select语句显示表中的所有记录。查询语句如下:
mysql> select *from RemoveSpecialCharacterDemo;
以下是输出结果:
+----+-----------+
| Id | Name |
+----+-----------+
| 1 | John |
| 2 |Carol |
| 3 | Mike |
| 4 |Sam |
| 5 | David |
| 6 | Robert |
| 7 | James |
| 8 | Maxwell |
+----+-----------+
共有8行,用时0.00秒
以下是使用REPLACE()从数据库字段中删除特殊字符的查询语句:
mysql> update RemoveSpecialCharacterDemo
-> set Name=replace(Name,'$','');
查询成功,受影响的行数为8(用时0.22秒),匹配的行数为8, 改变的行数为8,警告的行数为0
再次检查表中的记录。查询语句显示所有记录:
mysql> select *from RemoveSpecialCharacterDemo;
以下是输出结果:
+----+---------+
| Id | Name |
+----+---------+
| 1 | John |
| 2 | Carol |
| 3 | Mike |
| 4 | Sam |
| 5 | David |
| 6 | Robert |
| 7 | James |
| 8 | Maxwell |
+----+---------+
共有8行,用时0.00秒
观察输出结果,特殊字符$已经完全从表中删除。
阅读更多:MySQL 教程
极客教程