Wichtig

Übersetzen ist eine Gemeinschaftsleistung Sie können mitmachen. Diese Seite ist aktuell zu 55.77% übersetzt.

15.3. Lesson: Adding Data to the Model

Das Modell, das wir erstellt haben, soll jetzt mit den vorgesehenen Daten gefüllt werden.

Ziel dieser Lektion: Das Erlernen des Einfügens neuer Daten in ein Datenbankmodell.

15.3.1. Die Einfügeanweisung

How do you add data to a table? The sql INSERT statement provides the functionality for this:

insert into streets (name) values ('High street');

Einige Sachen müssen beachtet werden:

  • After the table name (streets), you list the column names that you will be populating (in this case only the name column).

  • After the values keyword, place the list of field values.

  • Zeichenketten müssen von einfachen Anführungszeichen umgeben werden.

  • Note that we did not insert a value for the id column; this is because it is a sequence and will be auto-generated.

  • If you do manually set the id, you may cause serious problems with the integrity of your database.

You should see INSERT 0 1 if it is successful.

Wir können das Ergebnis unserer Einfügeaktion durch Auswahl aller in der Tabelle enthaltenden Daten sehen:

select * from streets;

Ergebnis:

select * from streets;
 id |    name
----+-------------
  1 | High street
(1 row)

Try Yourself: ★☆☆

Use the INSERT command to add a new street to the streets table.

15.3.2. Aneinanderreihen von Einfügeaktionen aufgrund von Beschränkungen

15.3.3. Try Yourself: ★★☆

Try to add a person object to the people table with the following details:

Name: Joe Smith
House Number: 55
Street: Main Street
Phone: 072 882 33 21

Bemerkung

Denken Sie daran, dass wir die Telefonnummern als Zeichenketten, nicht als Ganzzahlen definiert haben.

At this point, you should have an error report if you try to do this without first creating a record for Main Street in the streets table.

Wir bemerken auch:

  • Man kann keine Straße unter Nutzung ihres Namens hinzufügen

  • You can’t add a street using a street id before first creating the street record on the streets table

Denken Sie daran, dass unsere zwei Tabellen mit Hilfe eines Erst-/Fremdschlüsselpaars verbunden sind. Das bedeutet, dass keine zulässige Person ohne zulässigen dazugehörenden Datensatz für eine Straße erstellt werden kann.

Fügen Sie unter Nutzung dieses Wissens eine neue Person zur Datenbank hinzu.

15.3.4. Auswahl von Daten

Wir haben die Syntax zur Selektion von Datensätzen schon demonstriert. Lassen Sie uns einige weitere Beispiele ansehen:

select name from streets;
select * from streets;
select * from streets where name='Main Road';

In späteren Abschnitten gehen wir detaillierter darauf ein, wie man Daten auswählt und filtert.

15.3.5. Aktualisierung von Daten

Was ist, wenn man bereits existierende Daten verändern möchte? Z.B. einen Straßennamen der sich geändert hat:

update streets set name='New Main Road' where name='Main Road';

Be very careful using such update statements - if more than one record matches your WHERE clause, they will all be updated!

Eine bessere Lösung ist die Verwendung des Primärschlüssels der Tabelle um den zu ändernden Datensatz anzusprechen:

update streets set name='New Main Road' where id=2;

It should return UPDATE 1.

Bemerkung

The WHERE statement criteria are case sensitive, Main Road is not the same as Main road.

15.3.6. Löschen von Daten

In order to delete an object from a table, use the DELETE command:

delete from people where name = 'Joe Smith';

Sehen wir uns nun die Tabelle der Personen an:

address=# select * from people;

  id | name | house_no | street_id | phone_no
 ----+------+----------+-----------+----------
(0 rows)

15.3.7. Try Yourself: ★★★

Nutzen Sie das Gelernte, um einige neue Freunde in Ihre Datenbank einzutragen:

      name       | house_no | street_id |   phone_no
-----------------+----------+-----------+--------------
Joe Bloggs       |        3 |         2 | 072 887 23 45
Jane Smith       |       55 |         3 | 072 837 33 35
Roger Jones      |       33 |         1 | 072 832 31 38
Sally Norman     |       83 |         1 | 072 932 31 32

15.3.8. Zusammenfassung

Sie wissen nun, wie man neue Daten zu vorhandenen schon erstellten Modellen hinzufügt. Denken Sie daran, dass wenn Sie neue Datenarten hinzufügen, sie unter Umständen auch neue Datenmodelle erstellen müssen.

15.3.9. Was kommt als Nächstes?

Nachdem wir nun einige Daten hinzugefügt haben, werden wir die Nutzung von Abfragen zum Zugriff auf die Daten lernen.