Outdated version of the documentation. Find the latest one here.

15.3. Lesson: Agregar datos al Modelo

Los modelos que hemos creado ahora tendrá que ser llenado con los datos que están destinados a contener.

La meta para esta lección Para aprender cómo insertar nuevos datos al modelo de base de datos.

15.3.1. Insertar sentencia

¿Cómo añadir datos a una tabla? La sentencia sql INSERT proporciona la funcionalidad para esto:

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

Un par de cosas a tener en cuenta:

  • Después el nombre de la tabla (streets), se enlistan los nombres de columnas que serán llenadas (en este caso solo la columna name).

  • Después de la palabra clave :kbd:’valores’, coloque la lista de valores del campo

  • Las cadenas deben ser citadas utilizando comillas simples.

  • Tome en cuenta que no insertamos un valor a la columna id; esto es porque es una secuencia y será auntogenerada.

  • Si establece manualmente el: kbd: id, puede causar serios problemas a la integridad de su base de datos.

Debe ver INSERT 0 1 si es exitoso.

Puede ver el resultado de la acción insertar al seleccionar todos los datos de la tabla:

select * from streets;

Resultados:

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

15.3.1.1. Try Yourself basic

Use el comando INSERT para agregar una nueva calle a la tabla streets.

Verifique sus resultados

15.3.2. Secuencia de datos Adición Según Restricciones

15.3.3. Try Yourself moderate

Intente añadir un objeto persona a la tabla people con los siguientes detalles:

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

Nota

Recodemos que en este ejemplo, definimos números de teléfono como cadenas y no como números enteros.

En este punto, debe tener un reporte de error, si intentó hacerlo sin antes crear un registro para la Main Street en la tabla de streets.

También debe haber notado que:

  • No se puede añadir la calle utilizando su nombre

  • No se puede añadir una calle utilizando un id de una calle antes , primero se crea el registro de la calle en la tabla de streets

Recordar que nuestras tablas estan vinculadas por un par de llave primaria/foreana. Esto significa que ninguna persona válida puede ser creado sin que exista también un récord calle correspondiente válida.

Usar el conocimiento previo, añadir la nueva persona a la base de datos.

Verifique sus resultados

15.3.4. Seleccionar datos

Se ha mostrado ya la sintaxis para seleccionar registros. Vamos a ver algunos ejemplos:

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

En sesiones posteriores, vamos a entrar en más detalle sobre como seleccionar y filtrar datos.

15.3.5. Actualizar datos

¿pasa si se quiere hacer un cambio en algunos de los datos existentes? Por ejemplo, un nombre de calle se cambia:

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

Tenga mucho cuidado al utilizar este tipo de sentencias de actualización - si más de un registro coincide con su cláusula WHERE, ¡todos serán actualizados!

Una mejor solución es usar la llave primaria de la tabla para referenciar el registro que se desea cambiar.

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

Debe regresar UPDATE 1.

Nota

El criterio de la cláusula WHERE distingue entre mayúsculas y minúsculas Main Road no es lo mismo que Main road

15.3.6. Eliminar datos

Para eliminar un objeto de una tabla, utilice el comando DELETE:

delete from people where name = 'Joe Smith';

Vamos a ver nuestra tabla de people ahora:

address=# select * from people;

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

15.3.7. Try Yourself hard

Use las habilidades que ha aprendido para añadir algunos nuevos amigos a su base de datos:

      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. In Conclusion

Ahora que sabe como añadir nuevos datos a los modelos existentes que se crearon previamente. Recordar que si se quiere añadir nuevos tipos de datos, es posible que se desee modificar y/o crear nuevos modelos para contener los datos.

15.3.9. What’s Next?

Ahora que se han añadido algunos datos, aprenderá cómo utilizar las consultas para acceder a estos datos de diferentes maneras.