Valores null
Se utilizan cuando un valor de un registro es desconocido o ajeno a nosotros, estos valores nos se pueden colocar con ningún operador aritmético por lo que usaremos el "is" o en caso del negativo el "is not". Su sintaxis es:
select * from nombre_tabla where nombre_columna is null;
Por lo que hemos modificado nuestra tabla alumnos y le hemos agregado 3 registros para que puedas notar la diferencias de el valor null. Por lo que quedó de la siguiente forma:
Figura 59. Registros de nuestra tabla alumnos modificada.
Ahora mostraremos un ejemplo utilizado la sentencia para mostrar valores null, por lo que usaremos la siguiente instrucción como se muestra en la imagen:
Figura 60. Mostrar registros NULL
Como puedes observar solo nos aparecen aquellos registros que tienen el valor null en edad en este caso solo tenemos un registro.
También podemos mostrar todos los registros excepto los que tengan un valor null, por lo que usaremos la siguiente sintaxis:
select * from nombre_tabla where nombre_columna is not null;
Un ejemplo en el cual no nos muestre los valores null por lo que usaremos nuestra tabla de alumnos, con la siguiente instrucción.
Figura 61. No mostrar registros con valores NULL
Como puedes notar el la imagen anterior no nos nuestra los registros que tienen un valor null. Pero también puedes observar nos aparecen aquellos registros que tienen un campo vacío.
Ahora te mostraré cómo debemos colocar la instrucción para aquellos registros que tengan un campo vacío. Tal y como se muestra en la siguiente imagen.
Figura 62. No mostrar registros con valor NULL o espacio vacío.
Como puedes observar en la imagen anterior no nos muestra valores que tienen una edad null o un espacio vacío.
EXPRESIÓN LIKE
Like
like: Es una expresión que se utiliza para cadenas con un modelo en una expresión SQL ya que permite encontrar valores en campos que coincidan con la expresión dada. Su sintaxis es:
select * from nombre_tabla where nombre_columna like 'patrón';
A continuación te mostraré un ejemplo en el cual utilizaremos la expresión like, ya que nos permitirá mostrar los registros siempre y cuando cumplan con una condición. Utilizaremos la siguiente instrucción que se muestra en la imagen:
Figura 63. Mostrar registros con LIKE
Como puedes notar en la imagen anterior solo nos muestra los registros que comiencen con la letra "A" en la columna nombre de manera que el signo "%" de porcentaje nos indica que puede llevar cualquier letra después de la "A" siempre y cuando comience con la "A".
También podemos utilizar el like para que no nos muestre ciertos registros por lo que su sintaxis es:
select * from nombre_tabla where nombre_columna like 'patrón';
por lo que te mostraré un ejemplo usando esta sintaxis, utilizaremos nuestra tabla de alumnos, en la cual no nos mostrar los registros que tengan el patrón de la condición. Por lo que usaremos la siguiente instrucción que se muestra en la imagen.
Figura 64. No mostrar ciertos registros con LIKE
Como puedes observar en la imagen anterior solo nos muestra los registros que no llevan una "a" en la segunda posición de nuestro nombre, ya que el signo de porciento "%" que tiene al inicio indica que puede comenzar con cualquier letra pero que la segunda letra debe de ser "a" y que después puede ser cualquier letra por eso se encuentra otro signo de porciento "%". Por lo tanto solo nos muestra aquellos que no tiene una letra "a" en la segunda posición.
INSTRUCCIÓN UPDATE
Update
Es una instrucción que actualiza registros de los campos existentes de una tabla con nuevos valores.
Sintaxis:
Update nombre tabla set nombre campo = 'dato nuevo' where nombre campo = 'dato viejo'
Se usan las cláusulas:
Where: Especifica qué resultados se modificarán.
Order by: Se modificara el orden según los deseas.
Limit: Es para establecer un límite de números que se pueden actualizar.
Set: Es para establecer el nuevo valor para las columnas indicadas.
Diferencia entre Alter y Update
Alter: Se usa para actualizar la estructura de la tabla ya sea para agregar o eliminar columnas, etc.
Update: Se usa para actualizar los datos y cambiar registros en la tabla dejando la estructura de tal sin ningún cambio.
CREATE PROCEDURE
¿Qué es un procedimiento de almacenamiento?
Es una porción de código que puedes guardar y reutilizar. Es útil cuando se repite la misma tarea varias veces, es un método para encapsular el código además permite usar parámetros. Su síntesis para almacenamiento de procesos es:
create procedure nombre_proceso
->as
->sentencia_sql
->GO;
La síntesis para ejecutar un proceso es:
call nombre_proceso(param1, param2,..);
Parámetros
Los parámetros se separan por comas, estos parámetros pueden ser de tres tipos los cuales son:
IN: Es el tipo de parámetro que se usa por defecto. La aplicación o código que invoque al procedimiento tendrá que pasar un argumento para este parámetros y trabaja con una copia de su valor.
OUT: El valor de este parámetro puede ser cambiado en el proceso y su valor modificado será enviado de vuelta por el código.
INOUT: Es la mezcla de los parámetros anteriores, la aplicación o código invocando en el procedimiento puede pasar un valor y devolver un valor modificado.
¿Cómo crear procedimientos de almacenamiento?
Para definir procedimientos debemos usar delimitadores que trata de un bloque independiente, y que retomara de nuevo en la sentencia DELIMITER del final.
DROP PROCEDURE
Este comando se usa para borrar un procedimiento o función almacenado, debe tener el permiso de ALTER ROUTINE este permiso se otorga automáticamente.
La cláusula IF EXIXTS es una extensión de MySQL, evita que ocurra un error si la función o procedimiento no existe, generando una advertencia SHOW WARNINGS. Su síntesis es:
DROP (PROCEDURE|FUNCTION)(IF EXISTS)
ALTER PROCEDURE
Este comando puede usarse para cambiar las características de un procedimiento o función almacenada, debe tener el permiso ALTER ROUTILE. Su síntesis es:
ALTER(PROCEDURE|FUNCTION)sp_name(characteristic...)
show procedure
Es una extensión que retorna características de rutinas, como el nombre de la base de datos, nombre, tipo, creador, fecha de creación y modificación. Si no se especifica un patrón se alistara la información de todos los procedimientos almacenados. Su síntesis es:
SHOW CREATE PROCEDURE nombre_del_procedimientos\G