Viktigt

Översättning är en gemenskapsinsats du kan gå med i. Den här sidan är för närvarande översatt till 73.08%.

15.3. Lektion: Lägga till data i modellen

De modeller som vi har skapat måste nu fyllas med de data som de är avsedda att innehålla.

Målet för den här lektionen: Att lära sig hur man lägger in nya data i databasmodellerna.

15.3.1. Infoga uttalande

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

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

Ett par saker att notera:

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

  • Strängar ska citeras med enkla citattecken.

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

Du kan se resultatet av din insert-åtgärd genom att markera alla data i tabellen:

select * from streets;

Resultat:

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

Prova själv: ★☆☆☆

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

15.3.2. Sekvensering av datatillägg enligt begränsningar

15.3.3. Prova själv: ★★☆

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

Observera

Kom ihåg att vi i det här exemplet definierade telefonnummer som strängar, inte heltal.

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.

Det borde du också ha märkt:

  • Du kan inte lägga till gatan genom att använda dess namn

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

Kom ihåg att våra två tabeller är länkade via ett Primary/Foreign Key-par. Detta innebär att ingen giltig person kan skapas utan att det också finns en giltig motsvarande gatupost.

Lägg till den nya personen i databasen med hjälp av ovanstående kunskaper.

15.3.4. Välj data

Vi har redan visat dig syntaxen för att välja poster. Låt oss titta på några fler exempel:

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

I senare sessioner kommer vi att gå in mer i detalj på hur man väljer och filtrerar data.

15.3.5. Uppdatera data

Vad händer om du vill göra en ändring i befintliga data? Till exempel om ett gatunamn ändras:

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!

En bättre lösning är att använda tabellens primärnyckel för att referera till den post som ska ändras:

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

It should return UPDATE 1.

Observera

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

15.3.6. Radera data

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

delete from people where name = 'Joe Smith';

Låt oss titta på vårt folkbord nu:

address=# select * from people;

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

15.3.7. Prova själv: ★★★★

Använd de färdigheter du har lärt dig för att lägga till några nya vänner i din databas:

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

Nu vet du hur du lägger till nya data i de befintliga modeller som du skapade tidigare. Kom ihåg att om du vill lägga till nya typer av data kan du behöva ändra och/eller skapa nya modeller som innehåller dessa data.

15.3.9. Vad händer härnäst?

Nu när du har lagt till några data ska du lära dig hur du använder frågor för att komma åt dessa data på olika sätt.