Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Einfügen von Daten in eine neue Spalte einer bereits bestehenden Tabelle

Ok, nach einigen Gesprächen in den Kommentaren können wir zu einer Antwort übergehen.

Ich nehme an, Ihre Tabelle ist so etwas wie id, name, age, dateBirth, etc fields . Aber wer auch immer diese Tabelle erstellt, vergisst, das Geschlecht für die Registrierungen hinzuzufügen. Wie Sie sagten, ist die neue Spalte eine sex enum('m', 'f') Sie müssen jede Registrierung in dieser Tabelle einzeln aktualisieren. So:

 update matches set sex = 'm' where id = 1;

Beachten Sie, dass ich mit diesem Befehl gerade die Zeile in der Tabelle aktualisiert habe, in der die ID =1 ist, und ich annehme, dass diese ID Ihr Primärschlüssel ist. In die Where-Berechnung müssen Sie Ihren Primärschlüssel einfügen, ansonsten können Sie mehr als eine Spalte aktualisieren.

Wenn Ihre Tabelle viele Registrierungen hat, gibt es eine Möglichkeit, die schwere Arbeit zu reduzieren (zumindest ein wenig)

Um viele Zeilen auf einmal zu aktualisieren, müssen Sie ein Update mit einem LIKE-Filter durchführen, Sie werden einen Filter setzen, der viele Frauen gleichzeitig und dann viele Männer gleichzeitig identifizieren kann, wie folgt:

 update matches set sex = 'f' where name like '%Jheniffer%'

Da Jheniffer ein weiblicher Name ist, werden Sie höchstwahrscheinlich jede Registrierung aktualisieren, die einen Teil des Namens als Jheniffer enthält, z. B. „Jheniffer Smith“. Wiederholen Sie diesen Vorgang also für die gebräuchlichen Namen, bis die Arbeit erledigt ist. Für alle Frauen dann für die Männer wiederholen.

Ich hoffe, es hilft Ihnen beim Verständnis