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.
¿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)
Use el comando INSERT
para agregar una nueva calle a la tabla streets
.
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.
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.
¿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
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)
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
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.
Ahora que se han añadido algunos datos, aprenderá cómo utilizar las consultas para acceder a estos datos de diferentes maneras.