Anuncios

Bienvenido sean a este post, hoy continuaremos con lo visto en el post anterior y nos centraremos en cuatro instrucciones basicas para trabajar y para ello pasaremos con la primera.

Anuncios

insert

Esta instruccion es la utilizada para ingresar nuevos registros en nuestras tablas, tiene muchas formas de ingresar los datos pero les voy a pasar la sintaxis que me resulta mas practica para mi:

insert into nombreTabla (campos) values (valores);
Anuncios

En campos debemos pasar cada uno de los campos o columnas de nuestra tabla y en valores pasaremos todos los valores que corresponden a cada campo o columna, es un poco mas engorroso pero esto nos servira para detectar mas rapido un error, en caso de pasar mal un campo o un valor, y tambien a la hora de retomar un codigo despues de mucho tiempo, para entender el concepto vamos a nuestra tabla que creamos en el post anterior y agreguemos un nuevo dato mediante la siguiente linea:

MariaDB [curso]> insert into alumnos 
    -> (id,usuario,nombre,apellido,edad,ciudad)
    -> values
    -> (NULL, 'tinchicus','Martin','Miranda',33,'Arkham');
Anuncios
Anuncios

Para este ejemplo use la sintaxis comentada anteriormente donde primero pasamos todas las columnas en el orden que se encuentran en la tabla y en el otro parentesis pasamos los valores, el primero es el mas curioso porque pasamos NULL, esto es asi porque al autoincrementarse no necesita de ningun valor y se asignara automaticamente a medida que los recibe, despues pasamos los datos y si corresponde a una cadena lo pasaremos con las comillas y en caso de numeros lo pasaremos sin comillas, si todo sale bien nos devolvera el mensaje de QueryOk, con esto podemos ingresar todos los datos que sean necesarios pero como los vemos? pasemos al siguiente tema.

Anuncios

select

Esta es la instruccion que mas usaremos en conjunto con la anterior porque es la que nos permite buscar la informacion en las tablas, si bien tiene muchisimas opciones, acciones y sintaxis nosotros nos centraremos en dos en particular, la primera va a ser para obtener todos los datos de cada elemento cargado en la tabla y para ello usaremos lo siguiente:

select * from nombreTabla order by columna asc|des;
Anuncios

El asterisco indica como comodin que debemos devolver todas las columnas de la tabla, despues indicamos en cual tabla debemos buscar y por ultimo como vamos a ordenar la informacion y para ello le pasamos cual columna usaremos para ordenarlo y si lo hara de forma ascendente (asc) o descendente (des), hagamos una consulta sobre nuestra tabla de la siguiente manera:

> select * from alumnos order by id asc;
Anuncios

Una vez ejecutado nos devolvera lo siguiente:

MariaDB [curso]> select * from alumnos order by id asc;
+----+-----------+--------+----------+------+--------+
| id | usuario   | nombre | apellido | edad | ciudad |
+----+-----------+--------+----------+------+--------+
|  1 | tinchicus | Martin | Miranda  |   33 | Arkham |
+----+-----------+--------+----------+------+--------+
1 row in set (0.001 sec)
Anuncios

Como pueden ver no solo comprobamos que el insert funciono correctamente sino que tambien el id se genero correctamente gracias al AUTO_INCREMENT de su campo, en caso de necesitar ordenar por otra columna simplemente reemplacen el nombre y la forma de como lo devolvera, en este ejemplo no veremos la diferencia por tener un solo dato pero con mas datos lo notaran, veamos la otra sintaxis:

select columnas from nombreTabla order by columna asc|des;
Anuncios

Esta sintaxis es para especificar cuales son los datos que necesitamos especificamente porque puede suceder que no necesitemos todos los datos de una tabla sino algunos en particular y por lo tanto le pediremos que busque esos, tomemos el ejemplo anterior y modifiquemoslo de la siguiente manera:

> select usuario, nombre, apellido from alumnos;
Anuncios

Donde le pedimos que nos devuelva tres columnas en lugar de todas, veamos su salida:

MariaDB [curso]> select usuario, nombre, apellido from alumnos;
+-----------+--------+----------+
| usuario   | nombre | apellido |
+-----------+--------+----------+
| tinchicus | Martin | Miranda  |
+-----------+--------+----------+
1 row in set (0.001 sec)
Anuncios

Como pueden observar nos devolvio solamente los tres datos que necesitamos y que en realidad el order by es opcional y puede estar indicado o no, si no lo indicamos devolvera los datos como fueron ingresados sin ningun orden en particular, por ultimo veremos dos elementos opcionales mas:

select columnas|* from nombreTabla where condicion order by columna asc|des limit numero;
Anuncios

En este caso agregamos un where seguido de una condicion la cual nos permite delimitar mejor el resultado porque puede que nosotros busquemos una informacion en especifico, por ejemplo todos los alumnos que sean de una ciudad determinada o los alumnos de una edad determinada, y por ultimo limit que establece un limite de la cantidad de elementos que nos devuelve el «query», esto no es tan asi pero vamos a decir que hace eso, para entender el concepto vamos a usar la siguiente instruccion:

MariaDB [curso]> select usuario, nombre, apellido
    -> from alumnos
    -> where usuario = 'etortore'
    -> order by id desc
    -> limit 10;
Anuncios

Para este query le volvemos a pedir que nos devuelva solo tres campos de los disponibles de la tabla pero con la condicion donde el usuario sea igual a etortore, lo ordenamos por id descendiente (no importa que no lo muestre dado que en la tabla existe lo ordenara por este campo al resultado) seguido por el limite que sera de solamente 10 elementos, si lo ejecutamos obtendremos esto:

MariaDB [curso]> select usuario, nombre, apellido
    -> from alumnos
    -> where usuario = 'etortore'
    -> order by id desc
    -> limit 10;
Empty set (0.001 sec)
Anuncios

Esto es debido a que no existe ningun usuario con ese valor pero observen que no devolvio ningun error, con esto hemos cubierto lo mas basico para hacer busquedas en nuestras tablas ya sea de manera simple hasta con ciertas condiciones para limitar la informacion devuelta y no estresar a nuestro servidor con todos los queries, pasemos al siguiente tema.

Anuncios

update

Esta es la instruccion que se encarga de actualizar los datos de nuestras tablas, su sintaxis mas practica (por lo menos para mi) es:

update nombreTabla set columna=valor where condicion;
Anuncios

La unica diferencia es que podemos actualizar todas las columnas que necesitemos simplemente separando cada columna con cada valor con comas, la ultima condicion sera la encargada de establecer cual es el dato o los datos a modificar, por ejemplo podemos necesitar cambiar todos los alumnos de una ciudad X porque fue mal subido, les doy un ejemplo:

update alumnos set ciudad='Miskatonic' where ciudad='Arkham';
Anuncios

Esto modificara todos los campos ciudad de cada alumno donde este el valor de Arkham, para verlo en accion vamos a tomar nuestra tabla y actualizaremos el datos de la siguiente manera:

MariaDB [curso]> update alumnos
    -> set nombre='Martin H.', edad=44
    -> where usuario = 'tinchicus';
Anuncios

Aqui hacemos una actualizacion de dos campos de nuestra tabla, los cuales son el nombre y la edad, como pueden ver podemos modificar todos los campos que necesitemos simplemente agregandolos, por ultimo le pasamos la condicion que es unicamente para el usuario informado, si todo sale bien nos devolvera una notificacion de todo actualizado correctamente, si hacemos el query de los datos veremos los cambios:

MariaDB [curso]> select * from alumnos;
+----+-----------+-----------+----------+------+--------+
| id | usuario   | nombre    | apellido | edad | ciudad |
+----+-----------+-----------+----------+------+--------+
|  1 | tinchicus | Martin H. | Miranda  |   44 | Arkham |
+----+-----------+-----------+----------+------+--------+
1 row in set (0.001 sec)
Anuncios

Con esto tenemos un 75% de nuestras tablas administradas solo nos resta un solo tema.

Anuncios

delete

Esta es la instruccion que completa a todas y la mas peligrosa porque es la encargada de borrar los datos de nuestras tablas, un error y van a necesitar recuperar un back up o resignarse y perder todo, para eliminar un dato en particular usen esta sintaxis:

delete from nombreTabla where condicion;
Anuncios

Tan simple como eso, indican desde que tabla deben eliminar el dato y la condicion que debe cumplir, esto eliminara todos los datos que cumplan la condicion, por ejemplo para eliminar un usuario en particular simplemente informen el mismo o por ejemplo pueden eliminar todos los alumnos de una ciudad determinada porque en realidad fueron cargados erroneamente, el cielo es el limite pero si quieren eliminar todos los elementos de una tabla usen la siguiente sintaxis:

delete from nombreTabla;
Anuncios

Dado que no informamos ninguna condicion elimina todos los elementos de la misma, vamos a ejecutar la instruccion en nuestra tabla y ver su resultado:

MariaDB [curso]> delete from alumnos where usuario='tinchicus';
Query OK, 1 row affected (0.024 sec)
Anuncios

Esto eliminara al usuario que se identifica en la condicion, se ejecuto correctamente porque nos devolvio el Query Ok, si hacemos una busqueda ahora nos devolvera lo siguiente:

MariaDB [curso]> select * from alumnos;
Empty set (0.001 sec)
Anuncios

Por lo tanto tengan mucho cuidado al eliminar datos de las bases porque podrian borrar informacion vital para otras paginas y dejar inoperativas a estas, tambien no es nada divertido andar recuperando back ups que seguramente esten incompletos.

Anuncios

Con esto cubrimos las cuatro operaciones basicas que mas utilizaremos en PHP para ingresar valores, buscarlos, actualizarlos y eliminarlos, en los proximos posts veremos como se ejecutan desde el lenguaje pero esto les servira como base para conectarse desde una terminal para manejar las tablas de una base, si bien no es normal crear tablas o bases desde PHP esto tambien se puede hacer, cuando veamos como ejecutar estos queries con un par de modificaciones se daran cuenta que podemos hacer lo mismo con lo visto en el post anterior, por ultimo si desean saber mas sobre estas cuatro instrucciones les recomiendo los siguientes posts:

Anuncios

En el primero tienen bien explicado todo lo relacionado a select, uno de mis mejores posts, el segundo explica un poco mas sobre update y delete, tambien como modificar y eliminar tablas, por ultimo en el tercer post no solo veran todo lo visto en el post anterior sino algunas opciones mas de como utilizar insert into por si necesitan completar un poco mas de informacion.

Anuncios

En resumen, hoy hemos visto a los cuatro jinetes del apocalipsis, especialmente el ultimo, hemos visto como ingresar un nuevo valor, como buscarlo, como actualizarlo y como eliminarlo, todos de una forma basica y de la manera que creo mas practica a la hora de repasar un codigo, 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
pp258

Donación

Es para mantenimento del sitio, gracias!

$1.50