Photo by ThisIsEngineering on Pexels.com

投稿された内容を検索してNGワードがある行を削除するMYSQL文

2022.07.28

Logging

おはよう御座います。ココの所、寝不足気味でしたが昨日はかなり早めから睡眠を取り今は快適です😌。

さて、投稿された内容を検索してNGワードがある行を削除するMYSQL文を作りましたので昨日、Qiitaで公開しました。反響はまぁまぁです、とは言えいいね等は今のところされていません。公開したMYSQL文をこちらでも公開しておきますのでご自由にお使いいただけと思っております。

DELETE T FROM Test AS T inner join 
(select id from Test,words where txt REGEXP CONCAT ("(",word,")") GROUP BY id Order by id DESC) 
AS NG ON T.id = NG.id WHERE T.id = NG.id;

作った経緯は自分が作ったサービスに荒らしがたまに現れるようになった事です、それをいちいち確認して削除するのは面倒なので、こういうSQL文を作成したわけです、若干、処理は遅いものの削除してくれるので良いかなって思っています。

https://twitter.com/taoka_toshiaki/status/1552161731123638272

本音を言えばQiitaに掲載すれば手直ししてくれる人が現れるかなって若干期待していましたが、今のところいません。もしこの記事を読んでもっと良い方法があるという方は是非、コメント等頂ければ幸いです。

著者名  @taoka_toshiaki

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

AS NG, DELETE T FROM Test AS T inner join, ID, MYSQL文, NG.id WHERE, NGワード, ON T.id, qiita, quot, REGEXP CONCAT, select id from Test, SQL文, where txt, Word, words, ココ, 反響, 本音, 睡眠, 経緯, 若干,

Photo by Miguel Á. Padriñán on Pexels.com

一定の上限を超えたデータを削除するMYSQL文を作りました。

2022.07.26

Logging

おはようございます。今日は手続きに奔走してきます。

さて一定の上限を超えたデータを削除するMYSQL文を作りましたので、お裾分けです。下記のコードはidを降順にした上で、自動でnoを割り振ります。自動で割り振ったnoを元に条件件数を超えるデータは削除しております。なぜ、このようなMYSQL文を作ったかというと日付では判別出来ない削除データがあったからです。

DELETE T1 FROM test_tbl AS T1 
inner join (SELECT ROW_NUMBER() OVER(ORDER BY id DESC) AS rownum,id from test_tbl) AS T2
on T1.id = T2.id WHERE T2.rownum >= 4590;

この方法を使用するとサブクエリでいろいろな条件をしていた上でナンバーを割り振り削除することが出来ます。他にも方法はあると思いますが自分が思いついた、まぁある程度、処理の早い削除かと思います。是非、ご活用頂ければ幸いです。

著者名  @taoka_toshiaki

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

AS rownum, DELETE T, FROM test_tbl, gt, ID, id from test_tbl, inner join, MYSQL文, no, ORDER BY id DESC, over, SELECT ROW_NUMBER, お裾分け, サブクエリ, ナンバー, 一定, 上限, 日付, 条件件数, 降順,