테이블 "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" 테이블에서 삭제되었습니다.