quakenet:#php Tutorial

Author: Progman, zuletzt bearbeitet von progman @ 2005/03/09 16:05:07

Bitte beachten Sie, dass die Tutorialkapitel zusammenhängen. Wenn sie direkt auf ein Kapitel verlinkt wurden müssen Sie gegebenenfalls die vorherigen Kapitel auch lesen. Achten Sie beim lesen darauf, dass Sie kein Kapitel überspringen.

Datensätze in die Tabelle hinzufügen

  1. Syntax von INSERT
  2. Datensätze mit PHPMyAdmin hinzufügen

1. Syntax von INSERT

Wir haben nun unsere erste Tabelle erstellt. Diese ist aber noch leer. Wir müssen sie also mit Daten füllen. Um in eine Tabelle einen neuen Datensatz hinzuzufügen benutzt man den Befehl INSERT INTO.

INSERT INTO tabelle(spalten) VALUES(werte);
        

Bei vielen Spalten und Werten kann der Query sehr lang werden. Deswegen sollte man den Query in mehrere Zeilen schreiben.

INSERT INTO tabelle
    (spalten)
VALUES
    (werte);
        

Bei spalten gibt man die Spalten an, in denen man Werte reinspeichern möchte. In den anderen Spalten, die da nicht ausgeführt sind, werden dann die Default-Werte geladen. Bei einem Feld mit AUTO_INCREMENT wird dort dann eine neue ID gespeichert. Alle anderen Felder werden mit 0 oder "" gespeichert. Die Spalten müssen mit einem Komma getrennt werden .

INSERT INTO News
    (Titel,Inhalt,Datum,Autor)
VALUES
    (werte);
        

An der Stelle werte kommen dann die Werte hin, die man in den Spalten speichern möchte. Die Reihenfolge muss die selbe sein wie bei den Spalten. Die Werte müssen in ' oder in " stehen (wenn sie keine MySQL-Funktionen sind) und werden mit einem Komma getrennt.

INSERT INTO News
    (Titel,Inhalt,Datum,Autor)
VALUES
    ('Meine erste News',
     'Dies ist meine erste News. Ich hoffe es kommen noch weiter',
     NOW(),
     'Progman');
        

Wenn man ein ' bzw. ein " in einem Feld speichern will muss man wie in PHP das Zeichen mit \ escapen also \' oder \" schreiben.

An der Stelle wo eigentlich das Datum stehen sollte steht kein String sondern eine Funktion. NOW() ist eine MySQL-Funktion und liefert das aktuelle Datum zurück. Dies wird dann in die Spalte Datum gespeichert. Wichtig ist, dass hier keine ' oder " stehen dürfen. Dies wäre dann so wie dass hier in PHP:

<?php
    $text
= nl2br($text);   // so wäre es richtig
    
$text = 'nl2br($text)'; // so nicht
?>

Die Spalte ID haben wir jetzt nicht mit angegeben. Beim Einfügen eines neuen Datensatzes erstellt MySQL dann automatisch eine neue Nummer für diese Spalte, da sie die Eigenschaft AUTO_INCREMENT hat.

2. Datensätze mit PHPMyAdmin hinzufügen

In PHPMyAdmin ist es natürlich auch möglich neue Datensätze hinzuzufügen. Wenn man PHPMyAdmin öffnet, klickt man links auf die Tabelle inder man einen neuen Datensatz hinzufügen möchte. Im rechten Frame sieht man nun die Tabelle mit den Spaltenangaben. Je nach PHPMyAdmin Version ist oben ein Link Einfügen oder der Link Einfügen ist etwas weiter runter wenn man den rechten Frame ein wenig runterscrollt. Dort kann man dann seine Daten einfügen. Beim Feld ID muss man die Eingabe leer lassen. Und bei dem Feld Datum muss man die Funktion NOW wählen und die Datumvorgabe (falls vorhanden) löschen. Nach einem Druck auf Speichern wird der neue Datensatz hinzugefügt.

Fragen zum aktuellen Thema

  1. Was passiert mit den Inhalt von den Spalten, die nicht angegeben wurden?
Was passiert mit den Inhalt von den Spalten, die nicht angegeben wurden?

Die Spalten, die man bei dem INSERT Befehl nicht angegeben hat, werden dann mit den Default-Werten gespeichert. Spalten mit AUTO_INCREMENT sollte man nicht von Hand mit einem Wert füllen.

Nach oben