Belangrijk

Vertalen is een inspanning van de gemeenschap waaraan u deel kunt nemen. Deze pagina is momenteel voor 73.08% vertaald.

15.3. Les: Gegevens aan het model toevoegen

De modellen die we hebben gemaakt moeten nu worden gevuld met de gegevens die zij geacht worden te bevatten.

Het doel voor deze les: Leren hoe nieuwe gegevens in de modellen van de database in te voeren.

15.3.1. Argument Insert

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

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

Een anatal dingen om te onthouden:

  • 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.

  • Strings zouden moeten worden omsloten door enkele aanhalingstekens.

  • 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.

U kunt het resultaat van uw invoeractie zien door alle gegevens in de tabel te selecteren:

select * from streets;

Resultaat:

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

Probeer zelf: ★☆☆

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

15.3.2. Toevoegen van gegevens in overeenstemming met beperkingen

15.3.3. Probeer zelf: ★★☆

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

Notitie

Onthoud dat we in dit voorbeeld telefoonnummers hebben gedefinieerd als strings, niet als integers.

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.

U zou ook moeten hebben opgemerkt dat:

  • U kunt de straat niet toevoegen met behulp van zijn naam

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

Onthoud dat onze twee tabellen zijn gekoppeld via een paar Primaire/Vreemde sleutel. Dit betekent dat geen geldige persoon kan worden gemaakt zonder dat er ook een geldig overeenkomend record is voor de straat.

Voeg, met behulp van bovenstaande kennis, de nieuwe persoon toe aan de database.

15.3.4. Gegevens selecteren

We hebben u de syntaxis voor het selecteren van records al laten zien. Laten we eens naar nog een aantal voorbeelden kijken:

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

In latere gedeelten zullen we meer in detail ingaan op hoe gegevens te selecteren en te filteren.

15.3.5. Gegevens bijwerken

Wat als u een wijziging wilt maken in enkele bestaande gegevens? Bijvoorbeeld: een straatnaam is gewijzigd:

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!

Een betere oplossing is om de primaire sleutel van de tabel te gebruiken om te verwijzen naar het record dat moet worden gewijzigd:

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

It should return UPDATE 1.

Notitie

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

15.3.6. Gegevens verwijderen

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

delete from people where name = 'Joe Smith';

Laten we nu eens naar onze tabel people kijken:

address=# select * from people;

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

15.3.7. Probeer zelf: ★★★

Gebruik de vaardigheden die u heeft geleerd om enkele nieuwe vrienden aan uw database toe te voegen:

      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. Conclusie

Nu weet u hoe u nieuwe gegevens moet toevoegen aan de bestaande modellen die u eerder heeft gemaakt. Onthoud dat als u nieuwe soorten gegevens wilt toevoegen, u misschien moet aanpassen en/of nieuwe modellen moet maken om die gegevens te kunnen bevatten.

15.3.9. Wat volgt?

Nu dat u enkele gegevens heeft toegevoegd, zult u leren hoe u query’s gebruikt om op verschillende manieren toegang te krijgen tot deze gegevens.