martes, 30 de septiembre de 2014

¿Cómo se desarrolla una eliminación en MySQL?

  1. ¿Cómo se desarrolla una eliminación en MySQL?
R: Recuperemos la tabla fichajes y observemos su contenido:
mysql> SELECT * FROM fichajes;
+------------+----------+----------+
| fecha      | entrada  | salida   |
+------------+----------+----------+
| 2012-07-01 | 07:32:00 | 17:14:00 |
| 2012-07-02 | 08:15:00 | 17:57:00 |
| 2012-07-03 | 07:31:00 | 16:30:00 |
| 2012-07-04 | 07:25:00 | NULL     |
| 2012-07-05 | 07:45:00 | NULL     |
| 2012-07-06 | 07:30:00 | NULL     |
| 2012-07-07 | 07:15:00 | NULL     |
| 2012-07-08 | 08:01:00 | NULL     |
+------------+----------+----------+
8 rows in set (0.00 sec)
Queremos eliminar el registro del día 7 de julio. MySQL pone a nuestra disposición el comando DELETE, que usaremos del siguiente modo:
DELETE FROM tabla WHERE condición

Algo que podríamos leer como “borra de la tabla indicada aquello que cumpla cierta condición”.

¿Cuál es la condición que determinará que se borre el registro? Que el campo fecha tenga por valor ’2012-07-07′. Así pues:


mysql> DELETE FROM fichajes WHERE fecha = '2012-07-07';
Query OK, 1 row affected (0.14 sec)


Constatemos que el comando ha cumplido su misión:


mysql> SELECT * FROM fichajes;
+------------+----------+----------+
| fecha      | entrada  | salida   |
+------------+----------+----------+
| 2012-07-01 | 07:32:00 | 17:14:00 |
| 2012-07-02 | 08:15:00 | 17:57:00 |
| 2012-07-03 | 07:31:00 | 16:30:00 |
| 2012-07-04 | 07:25:00 | NULL     |
| 2012-07-05 | 07:45:00 | NULL     |
| 2012-07-06 | 07:30:00 | NULL     |
| 2012-07-08 | 08:01:00 | NULL     |
+------------+----------+----------+
7 rows in set (0.00 sec)


Como puedes comprobar, el registro de fecha 7 de julio ha sido eliminado de la tabla.

Es necesario que extremes la precaución siempre que uses DELETE. Si la condición de la claúsula WHERE se cumple en varios registros, serán eliminados todos ellos.

Por eso, una buena práctica consiste en ejecutar previamente un comando SELECT, bajolos mismos términos, para obtener el listado de registros afectados.

Imagina, por ejemplo, que queremos eliminar de la tabla fichajes los registros cuya hora de entrada sea superior o igual a las 7:45. Antes de proceder con el comando DELETE es interesante asegurarnos de que los registros que se van a borrar son precisamente los que queremos:


mysql> SELECT * FROM fichajes WHERE entrada >= '07:45:00';
+------------+----------+----------+
| fecha      | entrada  | salida   |
+------------+----------+----------+
| 2012-07-02 | 08:15:00 | 17:57:00 |
| 2012-07-05 | 07:45:00 | NULL     |
| 2012-07-08 | 08:01:00 | NULL     |
+------------+----------+----------+
3 rows in set (0.00 sec)


Observa el uso de la claúsula WHERE también en la sentencia SELECT para filtrar las filas a presentar.

Comprobamos que, efectivamente, esos son los únicos registros que deseamos eliminar. Podemos lanzar ya DELETE sin miedo:


mysql> DELETE FROM fichajes WHERE entrada >= '07:45:00';
Query OK, 3 rows affected (0.03 sec)


Así es como queda nuestra tabla tras esta eliminación:


mysql> SELECT * FROM fichajes;
+------------+----------+----------+
| fecha      | entrada  | salida   |
+------------+----------+----------+
| 2012-07-01 | 07:32:00 | 17:14:00 |
| 2012-07-03 | 07:31:00 | 16:30:00 |
| 2012-07-04 | 07:25:00 | NULL     |
| 2012-07-06 | 07:30:00 | NULL     |
+------------+----------+----------+
4 rows in set (0.00 sec)


¿Y si quisiéramos eliminar todos los registros de la tabla fichajes?

Exactamente igual, con la salvedad de que sobra el WHERE, pues no hay nada que filtrar, ya que no se salvará ninguno:


mysql> DELETE FROM fichajes;
Query OK, 4 rows affected (0.04 sec)


Así de simple.


mysql> SELECT * FROM fichajes;
Empty set (0.01 sec)


Nada que presentar, la tabla está más pelada que el ropero de Tarzán.

Utilizaremos la claúsula WHERE condición en numerosos contextos. Considera el artículo de hoy como un pequeño barniz…


¿Cómo se desarrolla una consulta en MySQL? y ¿Cómo se desarrolla una actualización en MySQL?

  1. ¿Cómo se desarrolla una consulta en MySQL?
R: Select * from tabla
     Select atributo from tabla
     select * from tabla where atributo=01;
  1. ¿Cómo se desarrolla una actualización en MySQL?
R: Paso 1: Generamos el documento html que contendrá el formulario del cuál pedimos la consulta, en este ejemplo la consulta nos regresa el nombre, el precio y la existencia filtrado por el código del producto, así que mi formulario solo contiene dos elementos (el cuadro de texto para  el código del producto y el botón que ejecuta la consulta).

http://programarenphp.files.wordpress.com/2010/11/consulta1.jpg

html>
<header>
<title>Prueba de SELECT</title>
<h1>Hola, programando una consulta</h1>
</header>
<body>
<form name=”consulta1″ method=”post” action=”ejecuta.php”>
Codigo del producto:<input type=”text” name=”codigo” maxlength=”4″>
<input type=”submit” value=”Aceptar”>
</form>
</body>
</html>

-Paso 2: desarrollamos el archivo “ejecuta.php”, que es el encargado de realizar la consulta y mostrar el resultado, lo explico con comentarios dentro del mismo código:

<?php

/* http://programarenphp.wordpress.com*/

/******** CONECTAR CON BASE DE DATOS **************** */
/******** Recuerda cambiar por tus datos ***********/ 
   $con = mysql_connect(“host”,”usuario”,”contraseña”);
   if (!$con){die(‘ERROR DE CONEXION CON MYSQL: ‘ . mysql_error());}
/* ********************************************** */
/********* CONECTA CON LA BASE DE DATOS  **************** */
   $database = mysql_select_db(“almacen”,$con);
   if (!$database){die(‘ERROR CONEXION CON BD: ‘.mysql_error());}
/* ********************************************** */
/*ejecutamos la consulta, que solicita nombre, precio y existencia de la
tabla productos */
$sql = “SELECT nombre, precio, existencia FROM productos WHERE codigo='”
      .$_POST['codigo'].”‘”;
$result = mysql_query ($sql);
// verificamos que no haya error
if (! $result){
   echo “La consulta SQL contiene errores.”.mysql_error();
   exit();
}else {
    echo “<table border=’1′><tr><td>Nombre</td><td>Precio</td><td>Existencia</td>
         </tr><tr>”;
//obtenemos los datos resultado de la consulta
    while ($row = mysql_fetch_row($result)){
                echo “<td>”.$row[0].”</td><td>”.$row[1].”</td>
              <td>”.$row[2].”</td>”;
   }
   echo “</tr></table>”;
 }
?> 
http://programarenphp.files.wordpress.com/2010/11/consulta2.jpg


¿Qué es un rango? y ¿Cuál es el ambiente de trabajo de MySQL?

  1. ¿Qué es un rango?
R: Tabla en las bases de datos, se refiere al tipo de modelado de datos, donde se guardan los datos recogidos por un programa. Su estructura general se asemeja a la vista general de un programa de hoja de cálculo.
Una tabla es utilizada para organizar y presentar información. Las tablas se componen de filas y columnas de celdas que se pueden rellenar con textos y gráficos Las tablas se componen de dos estructuras:
Registro: es cada una de las filas en que se divide la tabla. Cada registro contiene datos de los mismos tipos que los demás registros. Ejemplo: en una tabla de nombres y direcciones, cada fila contendrá un nombre y una dirección.
Campo: es cada una de las columnas que forman la tabla. Contienen datos de tipo diferente a los de otros campos. En el ejemplo anterior, un campo contendrá un tipo de datos único, como una dirección, o un número de teléfono, un nombre, etc.
  1. ¿Cuál es el ambiente de trabajo de  MySQL?

R: El servidor MySQL opera en un ambiente de red donde interoperan clientes con servidores. Los clientes y servidores funcionan o son hospedados en ordenadores a los cuales se los llama anfitriones. El anfitrión, entonces, es el conjunto de componentes electronicos que conforman el ordenador lo cuales son controlados por un sistema operativo.

¿Qué es un campo? y ¿Qué es una tabla?

  1. ¿Qué es un campo?
R: En informática, un campo es un espacio de almacenamiento para un dato en particular. En las bases de datos, un campo es la mínima unidad de información a la que se puede acceder; un campo o un conjunto de ellos forman un registro, donde pueden existir campos en blanco, siendo éste un error del sistema operativo. En las hojas de cálculo los campos son llamados celdas.
  1. ¿Qué es una tabla?
R: Tabla en las bases de datos, se refiere al tipo de modelado de datos, donde se guardan los datos recogidos por un programa. Su estructura general se asemeja a la vista general de un programa de hoja de cálculo.
Una tabla es utilizada para organizar y presentar información. Las tablas se componen de filas y columnas de celdas que se pueden rellenar con textos y gráficos Las tablas se componen de dos estructuras:
Registro: es cada una de las filas en que se divide la tabla. Cada registro contiene datos de los mismos tipos que los demás registros. Ejemplo: en una tabla de nombres y direcciones, cada fila contendrá un nombre y una dirección.

Campo: es cada una de las columnas que forman la tabla. Contienen datos de tipo diferente a los de otros campos. En el ejemplo anterior, un campo contendrá un tipo de datos único, como una dirección, o un número de teléfono, un nombre, etc.

¿Qué es un manejador de base de datos? y ¿Qué es el programa MySQL?

  1. ¿Qué es un manejador de base de datos? 
R: Es un sistema de gestor de bases de datos (SGBD) consiste en una colección de datos interrelacionados y una colección de programas para acceder a esos datos. 

El objetivo principal de un SGBD es proporcionar un entorno que sea tanto conveniente como eficiente para las personas que lo usan para la recuperación y almacenamiento de la información. 

  1. ¿Qué es el programa MySQL?
R: es un sistema de administración de bases de datos (Database Management System, DBMS) para bases de datos relacionales. Así, MySQL no es más que una aplicación que permite gestionar archivos llamados de bases de datos.

Existen muchos tipos de bases de datos, desde un simple archivo hasta sistemas relacionales orientados a objetos. MySQL, como base de datos relacional, utiliza multiples tablas para almacenar y organizar la información. MySQL fue escrito en C y C++ y destaca por su gran adaptación a diferentes entornos de desarrollo, permitiendo su interactuación con los lenguajes de programación más utilizados como PHP, Perl y Java y su integración en distintos sistemas operativos.                   

¿Qué importancia tienen las bases de datos? y ¿Cuáles son los elementos que integran una base de datos?

  1. ¿Qué  importancia tienen las bases de datos?  
R: La recopilación de datos es fundamental para que una empresa o institución mantenga sus relaciones.  Se le brinda una gran importancia al mantenimiento de la base de datos y también al constante crecimiento de la misma. Es importante que la base contenga ciertos datos fundamentales de la persona, como por ejemplo su teléfono (fijo, móvil o ambos), dirección de correo electrónico y la dirección postal. Estas bases de datos son dinámicas, pues se modifican todo el tiempo, a diferencia de las estáticas que suelen recopilar información o documentos históricos.    
  1. ¿Cuáles son los elementos que integran una base de datos?
R: Tablas: son el "corazón" de la Base de datos y aparecen en una hoja electrónica formada por filas (informes) y columnas (campos). El informe contiene una voz de la Base de datos, mientras que el campo contiene cada uno de los detalles.
-Consultas (Query): son "herramientas" que sirven para "eliminar" todos los datos que no interesan haciendo aparecer únicamente aquellos que interesan.
-Máscaras o formularios: permiten la visualización y la gestión de los datos contenidos en las tablas y en las consultas. Normalmente representan la interface principal entre el programa y el usuario para que de este modo resulte más fácil la introducción de los datos.
-Report o informes: recopilan los datos de las tablas o consultas para permitir su impresión o análisis, facilitando la individualización de los datos más improtantes.
-Macros: automatizan las funciones de la base de datos
-Módulos: registran de Access Basic (programación).
Las tablas, informes, formularios y consultas aparecen en diversos momentos, pero están vinculados entre ellos. Las tablas representan el centro de cada actividad: el resto de objetos interactúan con los datos indicados en las tablas.