MySQL:删除示例表"bar"中包含字符串"foo"的所有行?
mysqlmysqli database
要删除表"bar"中包含字符串"foo"的所有行,您需要使用 LIKE 运算符。
为了理解上述语法,让我们创建一个名为"bar"的示例表。创建表的查询如下。创建下表后,我们将始终使用 INSERT 命令插入带有字符串"foo"的记录 −
mysql> create table bar -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Words longtext, -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (0.61 sec)
现在,您可以使用 insert 命令在表中插入一些记录。插入记录时还会添加字符串"foo"。查询如下 −
mysql> insert into bar(Words) values('Javafoo'); Query OK, 1 row affected (0.14 sec) mysql> insert into bar(Words) values('fooMySQL'); Query OK, 1 row affected (0.19 sec) mysql> insert into bar(Words) values('Introductiontofoo C and C++'); Query OK, 1 row affected (0.22 sec) mysql> insert into bar(Words) values('Introduction to Node.js'); Query OK, 1 row affected (0.19 sec) mysql> insert into bar(Words) values('Introduction to Hibernate framework'); Query OK, 1 row affected (0.17 sec)
以下是使用 select 语句显示表中的所有记录的查询。查询如下 −
mysql> select *from bar;
以下是输出 −
+----+-------------------------------------+ | Id | Words | +----+-------------------------------------+ | 1 | Javafoo | | 2 | fooMySQL | | 3 | Introductiontofoo C and C++ | | 4 | Introduction to Node.js | | 5 | Introduction to Hibernate framework | +----+-------------------------------------+ 5 rows in set (0.00 sec)
以下查询用于从表"bar"中删除所有包含字符串"foo"的行。 −
mysql> delete from bar where Words like '%foo' -> or Words like '%foo%' -> or Words like 'foo%'; Query OK, 3 rows affected (0.20 sec)
现在再次检查表记录。查询如下 −
mysql> select *from bar;
以下是输出 −
+----+-------------------------------------+ | Id | Words | +----+-------------------------------------+ | 4 | Introduction to Node.js | | 5 | Introduction to Hibernate framework | +----+-------------------------------------+ 2 rows in set (0.00 sec)
现在查看上面的示例输出,所有包含字符串"foo"的记录都已从表"bar"中删除。