Ich   Entwicklung   Lösungen Apache PHP mySQL  
 

SQL: INSERT & SELECT

Daten in eine Tabelle einfügen mit INSERT

Wir geben in unsere Tabelle kontakte unseren ersten Datensatz ein:

INSERT INTO kontakte SET
	name="Jens Becker",
	mail="jb@intermitto.net",
	homepage="www.intermitto.net";

Ihnen fällt vielleicht auf, dass wir keinen Wert für das Attribut id angegeben haben. Wir nutzen hier AUTO-INCREMENT aus (siehe letzte Seite), sodass die id automatisch vergeben wird.

Als nächstes geben Sie einen zweiten Datensatz ein, beispielsweise ohne Homepage:

INSERT INTO kontakte SET
	name="Mister X",
	mail="mister@x.net";

Hier geben wir keinen Wert für das Attribut homepage an. Da wir bei der Erschaffung der Tabelle NOT NULL für das Attribut angegeben haben, wird als Wert eine leere Zeichenkette gespeichert.

Daten aus einer Tabelle auslesen mit SELECT

Jetzt kommen wir endlich dazu, die eingegebenen Datensätze auch auszulesen. Geben Sie einfach mal folgendes ein:

SELECT name, mail, homepage FROM kontakte;

Angezeigt werden jetzt alle Datensätze, aber nur die Spalten name, mail und homepage. Die Anzeige an der Konsole ist nicht gerade sehr übersichtlich, reicht aber für unsere Zwecke erst einmal aus.

Wollen Sie alle Spalten der Tabelle einlesen, dann benutzen Sie das Sternchen:

SELECT * FROM kontakte;

Mit WHERE-Statements können Sie die Ergebnisse mit bestimmten Kriterien begrenzen:

SELECT id, mail, name
	FROM
		kontakte
	WHERE
		id > 5 AND homepage="";

Hier werden id, mail und name der Datensätze angezeigt, deren id größer als 5 ist und bei denen keine homepage eingegeben ist.

Doppelte Werte vermeiden mit SELECT DISTINCT

Angenommen, Sie möchten sich jetzt alle Homepages Ihrer Kontakte ansehen. Da eventuell mehrere Personen vorhanden sind, welche dieselbe (oder keine) Homepage haben, würden Sie einige Webseiten mindestens doppelt angezeigt bekommen. Wenn Sie aber möchten, dass jeder Wert nur einmal angezeigt wird, auch wenn er mehrfach in der Tabelle gespeichert ist, dann benutzen Sie das Schlüsselwort DISTINCT.

SELECT DISTINCT homepage FROM kontakte;

Probieren Sie es einfach mal aus. Auch hier können Sie natürlich WHERE-Statements einsetzen.

SQL: UPDATE & DELETE weiter

URL: www.intermitto.net/mysql/sql/insertselect/?PHPSESSID=1c93db4ea2ed350e02c21751eb03c35c
© 2004-05 Jens Becker - intermitto.net v5.1
Letzte Änderung: 23.08.2005

Home - Kontaktformular - Downloads - Suche und Sitemap - Impressum
Entwicklung - Problemlösungen - Tutorials: Apache PHP mySQL

user  pass