Anuncios

Bienvenidos a este nuevo post, hoy veremos como efectuar el ABM de las tablas, entiendase por ABM como Alta-Baja-Modificacion, ya sea desde actualizar a borrar registros, o desde modificar hasta eliminar una tabla. Este no va a ser un post muy largo porque los comandos son sencillos y no tienen tantas opciones como fue el caso de select.

Anuncios

Nuestro primer comando es update, este comando es utilizado para actualizar o modificar uno o varios datos en una tabla, su estructura es:

UPDATE nombre de la tabla
SET variable/s y nuevo valor
WHERE condicion para modificar
Anuncios

De los campos de arriba, el unico opcional es el WHERE porque no es necesario para la ejecucion de una modificacion, veamos el siguiente ejemplo:

update presidente set nombre='Juan';
Anuncios

En este caso, si lo ejecutamos de esta forma estariamos cambiando todos los nombre cargados en presidente a Juan, lo cual va a traer inconvenientes para todos aquellos consultantes de nuestra base. Para un mejor uso se deberia haber hecho:

update presidente set nombre='Juan' where nombre='Juan Manuel';
Anuncios

Como ven ahora solamente va a modificar los nombres que coincidan con Juan Manuel por Juan. En gral., siempre vamos a utilizar la segunda opcion porque la mayoria de las veces no se necesitan modificar todos los datos, pero puede ocurrir, sino alguno en particular, por ejemplo en los alumnos podriamos haber cargado mal una nota y necesitamos modificarla, vamos a suponer que tenemos el dato del id del alumno y del id del examen y la nueva nota a modificar, seria algo asi:

update notas set nota=4 where alumno_id=5 and examen_id=3;
Anuncios

En este caso solo modificara el valor de nota del alumno cinco y para el id del examen tres. En actualizaciones no tenemos mas secretos, simplemente tengan cuidado a la hora de correrlo traten de usar condicionales para ser mas especificos en las modificaciones, salvo en el caso de que deban ser masivos porque fue un error de carga o simplemente cambiaron la nomenclatura de algun registro. y para redondear tambien se puede modifcar varios campos al mismo tiempo simplemente pongan todos los campos con los nuevos valores y el where se encargara de cambiarlos, por ejemplo:

update presidente
set nombre='Juan', apellido='de Rosas'
where nombre='Juan Manuel';
Anuncios

Pasemos al siguiente comando DELETE, este comando sirve para eliminar registros de la tabla, su estructura es:

DELETE
FROM nombre de la tabla
WHERE condicional para eliminar
Anuncios

Este comando es muy peligroso, porque mal utilizado puede eliminar toda una vida de trabajo, supongamos que ejecutamos esta linea:

delete from presidente;
Anuncios

Esta comando ejecutado de esta forma, basicamente va a eliminar todos los registros almacenados en la tabla president dejandola vacia. Obviamente en el caso de necesitar vaciar una tabla porque en realidad estuvo siempre mal cargada seria razonable usarlo asi pero hacerlo sobre una tabla fundamental puede ocasionar graves apuros ya que no se puede revertir el error (salvo que tengan algun backup), para evitar estos inconvenientes es completamente necesario el uso del condicional, veamos un ejemplo:

delete from presidente where apellido='cafiero';
Anuncios

Supongamos esta situacion, cargamos por error una persona que no fue presidente, sino candidato, en la tabla presidente y al darnos cuenta, tenemos que elimnarla, para eso ejecutamos la linea anterior lo cual no esta mal pero sigamos en el caso de la suposicion de tener una persona que fue presidente con el mismo apellido pero con distinto nombre, con el caso anterior eliminariamos a los dos porque el condicional chequea y elimina a todos los de apellido, en este caso, Cafiero. Para evitar esto, debemos hacerlo un poco mas especifico:

delete from presidente where apellido='cafiero' and nombre='antonio';
Anuncios

En este caso solo va a eliminar a esta entrada, tambien se pueden eliminar registros que contengan valores NULL, como ven el delete es una gran herramienta pero muy peligrosa sino se la condiciona de forma correcta, esta puede eliminar datos necesarios para nosotros sin darnos cuenta por eso traten de ser lo mas especifico posible a la hora de eliminar datos.

Anuncios

Ahora vamos a ver de forma muy basica el comando para modificar tablas, este es ALTER TABLE, como vieron cuando crearon la tabla presidente no le generaron un PRIMARY KEY, en general, siempre es recomendable tenerlo asignado porque nos permite tener una mejor indexacion de nuestras tablas, veamos un ejemplo para alterar la tabla presidente y asignarle lo antes mencionado:

alter table presidente
add id int(255) unsigned not null auto_increment primary key;
Anuncios

Como se observa, primero ponemos alter table seguido del nombre de la tabla, luego utilizamos add (para agregar esta columna) seguido del nombre de la columna, y siempre separada por un espacio el resto de las caracteristicas, en este caso el tipo de dato(su expresion maxima), que sea sin signo, que no sea NULL, que se auto incremente y finalmente que sea la PRIMARY KEY de la tabla. Si ejecutaran una consulta con select despues de modificada nos devolveria esto:

mysql12
Anuncios

Observen que id, al tener el auto_increment se completo automaticamente, si no hubiera tenido el auto_increment deberiamos haberlo completado atraves de update. En terminos generales, el alter table lo van a utilizar porque en algun momento va a cambiar la metodologia de nuestro trabajo, porque se agrego algun nuevo dato, porque dejamos de utilizar algun dato, etc. Y para finalizar veremos el comando drop table, este comando se utiliza para eliminar (o descartar) una tabla, su estructura es facil:

drop table nombre de la tabla;
Anuncios

Este comando va a eliminar la tabla que le informemos, por eso solamente debe ser utilizado cuando estemos completamente seguros de que la tabla informada ya no va a ser utilizada.

Anuncios

En resumen, hoy hemos visto como se pueden modificar informacion en registros ya existentes en una tabla, tambien hemos visto como eliminar un dato de una tabla, como modificar una tabla para agregar un nuevo campo y como eliminar definitivamente una tabla, espero les haya sido util sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Anuncios

Tengo un Patreon donde podes acceder de manera exclusiva a material para este blog antes de ser publicado, sigue los pasos del link para saber como.

Tambien podes donar

Es para mantenimiento del sitio, gracias!

$1.00