Frage 102-14

Geben Sie das SQL-Kommando ein, mit dem Sie alle Einträge aus der Tabelle adressen löschen können.

Textfrage

LPI-Lernziel SQL-Datenverwaltung (105.3)

5 Kommentare · Kommentar hinzufügen · RSS

Löschen aller Einträge aus Tabelle adressen

Tom (Gast) · 23. April 2010, 05:46

Ich bin nun das zweite Mal über dies Frage gestolpert. Weder: TRUNCATE TABLE adressen; noch DELETE * FROM adressen; waren richtig. Mir ist jedoch aufgefallen, das auf anderen Seiten zu mysql das abschliessende ; in den Antworten fehlt... Weiß jemand die richtige Antwort?

Löschen aller Einträge aus Tabelle adressen

Anselm Lingnau (eingetragen) · 23. April 2010, 09:14

OK, TRUNCATE adressen zählt jetzt auch als richtig. DELETE * FROM adressen ist dagegen kein gültiges SQL.

Was das »;« angeht: Hier geht es nicht um MySQL. Sogar bei MySQL muss man den Semikolon nur im mysql-Programm angeben; er ist nicht Bestandteil von SQL, wie man leicht merkt, wenn man MySQL aus einer Programmiersprache heraus benutzt -- wo der Semikolon nicht angegeben werden muss oder sogar als Fehler gilt.

Löschen aller Einträge aus Tabelle adressen

Tom Liedtke-Wolter (eingetragen) · 28. April 2010, 05:31

O.K., habe es gefunden: DELETE FROM adressen ist gültig (und funktioniert): http://dev.mysql.com/doc/refman/5.1/de/delete.html Und was das ; angeht, hoffe ich, das die echten Prüfungsfragen genauer sind. Ich ging natürlich vom mysql-Client aus.

Löschen aller Einträge aus Tabelle adressen

Anselm Lingnau (eingetragen) · 28. April 2010, 10:22

Das mit dem MySQL-Client ist ein gefährlicher Irrtum; wenn Du Dir die Lernzielbeschreibung anschaust, wirst Du feststellen, dass dort nirgendwo von MySQL (oder irgendeiner anderen spezifischen Datenbank) die Rede ist. Zumindest ich werte das so, dass sich die Fragen um die »reinen« SQL-Kommandos drehen, und die haben nun mal keinen Semikolon am Schluss.

Alles in allem kann man sagen, dass es hier um ziemlich elementares SQL geht (weswegen ich ursprünglich auch nicht an TRUNCATE gedacht hatte; das ist, wie gesagt, jetzt behoben). Deswegen sollte man sich nicht zu sehr in die Eigenheiten spezieller Implementierungen (sei das nun MySQL, Oracle oder sqlite) versteigen. Wenn man zu den Leuten gehört, die in MySQL-SQL träumen, könnte es kein Fehler sein, mal nachzuschauen, was davon tatsächlich »offiziell« ist -- ich habe mir MySQL irgendwann zugunsten von PostgreSQL abgewöhnt, aber soweit ich mich erinnere, ist das SQL von MySQL nicht notwendigerweise standardkonform.

Löschen aller Einträge aus Tabelle adressen

Dominik Danter (Gast) · 23. Juli 2010, 03:14

'er ist nicht Bestandteil von SQL' - Doch. http://savage.net.au/SQL/sql-2003-2.bnf.html#semicolon

Wichtig

LPI-Logo

Die LPI Academy ist keine offizielle Webseite des LPI!

Sponsor

Linup-Front-Logo

Die LPI Academy wird für die Community unterstützt von der Linup Front GmbH

A Django Site

Diese Seite

Version: 0 (Anselm)
22.8.2009 12:04:17

Benutzer

Nicht angemeldet

Kommentare

RSS