2016-05-05 5 views
0

Ich habe eine Tabelle von etwa 3 Millionen Datensätze in meiner Datenbank und möchte alle Wörter löschen, die weniger als 3 Zeichen haben.So löschen Sie Wörter, die weniger als 3 Zeichen aus der Datenbank haben

Beispiel:

Cheap food in Spain 
Because of my database 

Ich möchte löschen "in", "der", "mein", etc ....

Erwartetes Ergebnis:

Cheap food Spain 
Because database 

Bitte helfen

Danke!

+0

So 'Günstige Lebensmittel in Spain' ist in _one_ Spalte? – PerlDuck

+0

Ich denke, Sie wollen etwas wie $ col = ~/\ b \ S {1,3} \ b \ s? // g; '(das ist Perl-Syntax, um jedes 1-3 Zeichen Wort in einer Variablen durch nichts zu ersetzen (dh lösche es)). Leider gibt es in MySQL keine REGEX REPLACE, die dieser Antwort [http://stackoverflow.com/a/986870/5830574] entspricht. – PerlDuck

+1

Sie könnten versuchen, eine Suche auf MySQL durch Platzhalter ersetzen. Es gibt mehrere Problemumgehungen für das Problem Perl Dog Notizen. – BRM

Antwort

0

Es ist vielleicht nicht sehr effizient sein, aber man konnte folgendes versuchen:

delete from [Table] where [Column] like '% __ %' or [Column] like '% _ %'

Dies würde Drop Ihre Zeilen, in denen Sie 1 oder 2 Wörter Zeichen mit Leerzeichen umgeben; Sie können dies anpassen, um mit Pausen usw. fertig zu werden.

+0

Ich muss nur diese Wörter entfernen, möchte Zeilen behalten – urkeee