Important

Traducerea este un efort al comunității, la care puteți să vă alăturați. În prezent, această pagină este tradusă 71.15%.

15.3. Lesson: Adding Data to the Model

Modelele pe care le-am creat vor trebui să fie populate de acum cu datele pe care trebuie să le conțină.

Scopul acestei lecții: De a afla cum se pot insera noi date în baza de date a modelelor.

15.3.1. Inserarea instrucțiunilor

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

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

Mai multe lucruri de reținut:

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

  • Șirurile de caractere ar trebui să fie citate cu ajutorul ghilimelelor simple.

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

Puteți vedea rezultatul acțiunii dvs. de inserare selectând toate datele din tabelă:

select * from streets;

Rezultat:

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

Încercați și dvs.: ★☆☆

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

15.3.2. Secvențierea Adăugării Datelor, Conform Constrângerilor

15.3.3. Încercați și dvs.: ★★☆

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

Notă

Reamintim că, în acest exemplu, am definit numerele de telefon ca șiruri de caractere, și nu ca numere întregi.

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.

Ar trebui să rețneți, de asemenea, că:

  • Nu puteți adăuga strada folosind-ui numele

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

Amintiți-vă că cele două tabele sunt legate printr-o pereche de chei: primară/externă. Aceasta înseamnă că nici o persoană validă nu pot fi creată fără a exista, de asemenea, o înregistrare de stradă validă, corespunzătoare.

Folosind cunoștințele de mai sus, adăugați noua persoană în baza de date.

15.3.4. Selectarea datelor

V-am arătat deja sintaxa pentru selectarea înregistrărilor. Să ne uităm la câteva exemple suplimentare:

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

În sesiunile ulterioare vom intra în mai multe detalii cu privire la modul de selectare și de filtrare a datelor.

15.3.5. Actualizarea datelor

Ce se întâmplă dacă doriți să faceți o modificare a unor date existente? De exemplu, un nume de stradă este schimbat:

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!

O soluție mai bună este de a folosi cheia primară a tabelului, pentru a referenția înregistrarea care trebuie schimbată:

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

It should return UPDATE 1.

Notă

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

15.3.6. Ştergere Dată

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

delete from people where name = 'Joe Smith';

Să ne uităm acum la tabela noastră de personal:

address=# select * from people;

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

15.3.7. Încercați și dvs.: ★★★

Folosiți abilitățile pe care le-ați învățat pentru a adăuga câțiva prieteni noi în baza de date:

      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. În concluzie

Acum știți cum să adăugați date noi modelelor existente, pe care le-ați creat anterior. Amintiți-vă că, dacă doriți să adăugați noi tipuri de date, poate doriți să modificați și/sau să creați noi modele, care să conțină aceste date.

15.3.9. Ce urmează?

Acum, că ați adăugat câteva date, veți învăța cum să folosiți interogările, pentru a accesa aceste date în diferite moduri.