MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLデータベースから特定ドメインのURLを削除する方法

MySQLデータベースから特定ドメインのURLを削除する方法

MySQLで特定のドメインを含むURLを一括削除したい場合は、DELETE文LIKE句を組み合わせて使用します。LIKE句にワイルドカード(%)を指定することで、特定の文字列パターンに一致するレコードだけを効率的に削除できます。

それでは、実際の手順を見ていきましょう。

1. サンプルテーブルを作成する

まず、URLを保存するためのテーブルを作成します。

mysql> create table DemoTable1361
-> (
-> URL text
-> ) ;
Query OK, 0 rows affected (0.58 sec)

2. テストデータを挿入する

INSERTコマンドを使って、複数のURLレコードを登録します。ここではgoogle.comのURLが2件含まれている点に注目してください。

mysql> insert into DemoTable1361 values('Https://www.google.com//?id=1');
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable1361 values('Https://www.facebook.com//?id=2&name=John');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable1361 values('Https://www.yahoo.com//?id=3');
Query OK, 1 row affected (0.31 sec)
mysql> insert into DemoTable1361 values('Https://www.google.com//?id=1');
Query OK, 1 row affected (0.16 sec)

3. 現在のレコードを確認する

SELECT文ですべてのレコードを表示してみましょう。

mysql> select * from DemoTable1361;

実行結果は以下の通りです。

+-------------------------------------------+
| URL |
+-------------------------------------------+
| Https://www.google.com//?id=1 |
| Https://www.facebook.com//?id=2&name=John |
| Https://www.yahoo.com//?id=3 |
| Https://www.google.com//?id=1 |
+-------------------------------------------+
4 rows in set (0.00 sec)

4. 特定ドメインのURLを削除する

ここで本題です。次のクエリを実行すると、「google.com」を含むURLをすべて削除できます。LIKE句の「%」は任意の文字列に一致するワイルドカードなので、ドメイン部分が一致するレコードがまとめて削除されます。

mysql> delete from DemoTable1361 where URL LIKE '%Https://www.google.com%';
Query OK, 2 rows affected (0.17 sec)

「2 rows affected」と表示されており、google.comのURLが2件削除されたことがわかります。

5. 削除後のレコードを確認する

もう一度テーブルの中身を確認してみましょう。

mysql> select * from DemoTable1361;

実行結果:

+-------------------------------------------+
| URL |
+-------------------------------------------+
| Https://www.facebook.com//?id=2&name=John |
| Https://www.yahoo.com//?id=3 |
+-------------------------------------------+
2 rows in set (0.00 sec)

まとめ

このように、DELETE文とLIKE句を組み合わせれば、特定のドメインを含むURLを簡単に削除できます。なお、実際の運用環境では削除前に必ずSELECT文で対象レコードを確認し、意図しないデータを消さないよう注意してください。大文字小文字を区別せずにマッチさせたい場合は、LOWER関数やUPPER関数を使って比較する方法も検討するとよいでしょう。

  1. PHPとMySQLで時刻を扱う方法|strtotime()とDATE_FORMAT()による形式変換

    PHPで時刻形式を変換する方法 PHPで時刻データを扱う際、strtotime()関数を使えば、「8:55 PM」のような人間が読みやすい12時間制の表記を、データベースで扱いやすい24時間制(HH:MM:SS)へ簡単に変換できます。 PHPコード例 $timeValue = 8:55 PM; $changeTimeFormat = date(H:i:s, strtotime($timeValue)); echo(24時間制への変換結果=); echo($changeTimeFormat); このコードでは、まずstrtotime()が文字列「8:55 PM」をUNIXタイムスタンプに変換

  2. 【解決法】「unix:///var/run/docker.sock」でDockerデーモンに接続できないエラーの直し方

    Dockerは、コンテナを使ってアプリケーションを簡単に作成・デプロイ・実行できることから、近年ますます人気が高まっています。コンテナを利用すれば、開発者はアプリケーション本体に加えて必要なライブラリや依存関係をまとめてパッケージ化し、ひとつの完成品として展開できます。LinuxへのDockerのインストール自体は比較的簡単で、ターミナルで数個のコマンドを実行するだけで利用を始められます。しかしながら、インストールが正常に完了した後でも、すべてのユーザーがスムーズに使えるとは限りません。特によく報告されるのが次のエラーです。Cannot connect to the Docker daemon