CENTRO DE ESTUDIOS EMSSANAR CETEM Resolución 0136 de 2007, 26 enero de 2007 Secretara de Educación Municipal FORMACION PARA EL TRABAJO Y DESARROLLO HUMANO
GUIA DE AULA No. 5 – APLICACIÓN DE LAS DIFERENTES RESTRICCIONES EN LA CREACION DE TABLAS EN MYSQL PROGRAMA: Sistemas y computación MATERIA : Bases de Datos II SEMESTRE: Cuarto RESPONSABLES: Francisco Caicedo Narváez y Juan Agreda
I.H.S 4 T.H 64
ESTANDARES
Utilizar operadores de asignación para la creación de variables.
Utilizar los operadores lógicos en expresiones.
Aplicar los operadores relacionales.
RECUPERACION DE SABERES Y EXPERIENCIAS PREVIAS Tener conocimientos sobre la creación bases de datos, tablas, creación de índices primarios y foráneos. Modificación y Eliminación de campos además inserción de datos, selección de datos, eliminación de datos, utilización de alias. INCORPORACION DE NUEVA INFORMACION MySQL dispone de multitud de operadores diferentes para cada uno de los tipos de columna. Esos operadores se utilizan para construir expresiones que se usan en cláusulas ORDER BY y HAVING de la sentencia SELECT y en las cláusulas WHERE de las sentencias SELECT, DELETE y UPDATE. Además se pueden emplear en sentencias SET.
OPERADOR DE ASIGNACIÓN
En MySQL podemos crear variables y usarlas posteriormente en expresiones. Para crear una variable hay dos posibilidades. La primera consiste en usar la sentencia SET de este modo:
mysql> SET @hoy = CURRENT_DATE(); Query OK, 0 rows affected (0.02 sec) mysql> SELECT @hoy; +------------+ | @hoy | +------------+ | 2009-05-17 | +------------+
CENTRO DE ESTUDIOS EMSSANAR CETEM Resolución 0136 de 2007, 26 enero de 2007 Secretara de Educación Municipal FORMACION PARA EL TRABAJO Y DESARROLLO HUMANO
La otra alternativa permite definir variables de usuario dentro de una sentencia SELECT:
mysql> SELECT @x:=10; +--------+ | @x:=10 | +--------+ | 10 | +--------+ mysql> SELECT @x; +------+ | @x | +------+ | 10 | +------+ En esta segunda forma es donde se usa el operador de asignación :=. Otros ejemplos del uso de variables de usuario pueden ser:
mysql> SELECT @fecha_min:=MIN(fecha), @fecha_max:=MAX(fecha) FROM gente; +------------------------+------------------------+ | @fecha_min:=MIN(fecha) | @fecha_max:=MAX(fecha) | +------------------------+------------------------+ | 1978-06-15 | 2001-12-02 | +------------------------+------------------------+ 1 row in set (0.00 sec) mysql> SELECT * FROM gente WHERE fecha=@fecha_min; +----------+------------+ | nombre | fecha | +----------+------------+ | Mengano | 1978-06-15 | | Pimplano | 1978-06-15 | +----------+------------+
CENTRO DE ESTUDIOS EMSSANAR CETEM Resolución 0136 de 2007, 26 enero de 2007 Secretara de Educación Municipal FORMACION PARA EL TRABAJO Y DESARROLLO HUMANO
OPERADORES LÓGICOS:
Los operadores lógicos se usan para crear expresiones lógicas complejas. Permiten el uso de álgebra Booleana, y nos ayudarán a crear condiciones mucho más precisas. En el álgebra booleana sólo existen dos valores posibles para los operandos y los resultados: verdadero y falso. MySQL dispone de dos constantes para esos valores: TRUE y FALSE, respectivamente. MySQL añade un tercer valor: desconocido. Esto es para que sea posible trabajar con valores NULL. El valor verdadero se implementa como 1 o TRUE, el falso como 0 o FALSE y el desconocido como NULL.
mysql> SELECT TRUE, FALSE, NULL; +------+-------+------+ | TRUE | FALSE | NULL | +------+-------+------+ | 1 | 0 | NULL | +------+-------+------+
Operador Y
En MySQL se puede usar tanto la forma AND como &&, es decir, ambas formas se refieren al mismo Operador: Y lógico. Se trata de un operador binario, es decir, requiere de dos operandos. El resultado es verdadero sólo si ambos operandos son verdaderos, y falso si cualquier operando es falso. Esto se representa mediante la siguiente tabla de verdad: A
B
A and B
Falso
Falso
Falso
Falso
Verdadero
Falso
Verdadero
Falso
Falso
Verdadero
Verdadero
Verdadero
Falso
Null
Falso
Null
Falso
Falso
CENTRO DE ESTUDIOS EMSSANAR CETEM Resolución 0136 de 2007, 26 enero de 2007 Secretara de Educación Municipal FORMACION PARA EL TRABAJO Y DESARROLLO HUMANO
Verdadero
Null
Null
Null
Verdadero
Null
mysql> SELECT 1 AND 0, 1 AND NULL, 0 AND NULL, 1 AND 0 AND 1; +---------+------------+------------+---------------+ | 1 AND 0 | 1 AND NULL | 0 AND NULL | 1 AND 0 AND 1 | +---------+------------+------------+---------------+ | 0 | NULL | 0 | 0 | +---------+------------+------------+---------------+ @
Se antepone para crear la variable
CURRENT_DATE();
Devuelve la fecha actual
Operador O
En MySQL este operador también tiene dos formas equivalentes OR y || El operador O también es binario. Si ambos operandos son distintos de NULL y el resultado es verdadero si cualquiera de ellos es verdadero, y falso si ambos son falsos. Si uno de los operandos es NULL el resultado es verdadero si el otro es verdadero, y NULL en el caso contrario. La tabla de verdad es: A
B
A OR B
Falso
Falso
Falso
Falso
Verdadero
Verdadero
Verdadero
Falso
Verdadero
CENTRO DE ESTUDIOS EMSSANAR CETEM Resolución 0136 de 2007, 26 enero de 2007 Secretara de Educación Municipal FORMACION PARA EL TRABAJO Y DESARROLLO HUMANO
Verdadero
Verdadero
Verdadero
Falso
Null
Null
Null
Falso
Null
Verdadero
Null
Verdadero
Null
Verdadero
Verdadero
mysql> SELECT 1 OR 0, 1 OR NULL, 0 OR NULL, 1 OR 0 OR 1; +--------+-----------+-----------+-------------+ | 1 OR 0 | 1 OR NULL | 0 OR NULL | 1 OR 0 OR 1 | +--------+-----------+-----------+-------------+ | 1 | 1 | NULL | 1 | +--------+-----------+-----------+-------------+ OPERADORES RELACIONALES: Para crear expresiones lógicas, a las que podremos aplicar el álgebra de Booleana, disponemos de varios operadores de comparación. Estos operadores se aplican a cualquier tipo de columna: fechas, cadenas, números, etc, y devuelven valores lógicos: verdadero o falso (1/0). Los operadores de comparación son los habituales en cualquier lenguaje de programación, pero además, MySQL añade varios más que resultan de mucha utilidad, ya que son de uso muy frecuente.
CENTRO DE ESTUDIOS EMSSANAR CETEM Resolución 0136 de 2007, 26 enero de 2007 Secretara de Educación Municipal FORMACION PARA EL TRABAJO Y DESARROLLO HUMANO
Operador
Descripción
<=
Menor o igual
<
Menor
>=
Mayor o igual
>
Mayor
APLICACIÓN CREATIVA Hacer Bromas con MYSQL Ej:
mysql> SELECT 2+3 "2+2";
+-----+ | 2+2 | +-----+ | 5 | +-----+ AMPLIACION, PROFUNDIZACION Y GESTION DE CONOCIMIENTOS Limitar filas de selección utilizando operadores relacionales y lógicos