Estructuras MYSQL

MYSQL ESTRUCTURAS

ESTRUCTURA SELECT

La sintaxis básica de una consulta de selección es la siguiente:
 SELECT -Campos- FROM -nombre_Tabla- ;
La forma básica de la instrucción SELECT consta de tres cláusulas: SELECT, FROM y WHERE (donde):
SELECT <Lista de atributos>
FROM <lista de tablas>
WHERE < condición>
En donde campos es la lista de campos que se deseen recuperar y tabla es el origen de los mismos, por ejemplo:
SELECT nombre, fechanacimiento FROM empleado; 
La consulta nos arrojará los datos en el campo 'nombre' y 'fechanacimiento' de la tabla 'empleado'.

 ESTRUCTURA UPDATE

 La estructura UPDATE nos permite actualizar los datos/registros en una base de datos.
La sintaxis de UPDATE es la siguiente:
Update nombre_tabla Set nombre_campo1 = valor_campo1, nombre_campo2 = valor_campo2,... Where condiciones_de_selección;
Ejemplo: UPDATE datosEmpleado SET edad=23 WHERE edad=24;

ESTRUCTURA DELETE

La senttencia DELETE nos ayuda a eliminar columnas en alguna de las tablas que contenga nuestra base de datos, estas columnas se eliminan siempre y cuando satisfagan la condición dada por la "where_definition".
Ejemplo:
DELETE from ventas WHERE fecha='2017-07-06';
  

ESTRUCTURA STORED PROCEDURE

Un stored procedure es una rutina que puede ser llamada en cualquier momento y que se encuentra almacenada dentro de la base de datos, pudiendo validar datos de entrada, utilizar cualquier valor de la base de datos, devolver solo lo que la misma permita y además, ser usado por cualquier lenguaje de programación.
mysql> create procedure nombre_del_procedimiento ()     
-> begin /* indica el inicio de la rutina */     
->    /* aqui va el contenido */     
-> end /* indica el fin de la rutina */;
Ejemplo:
mysql> delimiter <
mysql> create function saludo () returns char(5)
    -> begin
    -> return 'hola';
    -> end <

ESTRUCTURA TRIGGER

Un trigger o disparador, es un objeto con nombre dentro de una base de datos el cual se asocia con una tabla y es activado cuando ocurre algún evento en particular.
Un disparador es un objeto con nombre en una base de datos que se asocia con una tabla, y se activa cuando ocurre un evento en particular para esa tabla.
El disparador queda asociado a la tabla nombre_tabla. Esta debe ser una tabla permanente, no puede ser una tabla TEMPORARY ni una vista.
momento_disp es el momento en que el disparador entra en acción. Puede ser BEFORE (antes) o AFTER (despues), para indicar que el disparador se ejecute antes o después que la sentencia que lo activa.
evento_disp indica la clase de sentencia que activa al disparador. Puede ser INSERT, UPDATE, o DELETE. Por ejemplo, un disparador BEFORE para sentencias INSERT podría utilizarse para validar los valores a insertar.
No puede haber dos disparadores en una misma tabla que correspondan al mismo momento y sentencia. Por ejemplo, no se pueden tener dos disparadores BEFORE UPDATE. Pero sí es posible tener los disparadores BEFORE UPDATE y BEFORE INSERT o BEFORE UPDATE y AFTER UPDATE.
Ejemplo:
delimiter //
create trigger ingresar after on productos
for each row
BEGIN
insert into Activos(precio, fecha) values (23.50, 24-05-2017);
end //

ESTRUCTURA VISTAS

Una VISTA en mysql es una tabla virtual con una estructura que nosotros definimos pero sin datos.
  1. Se almacenan en el servidor con lo que el consumo de recursos y eficacia siempre serán más óptimos.
  2. En temas de seguridad siempre es mejor utilizar vistas en lugar de permitir a nadie acceder directamente a los datos, nosotros mostramos al resto de desarrolladores los datos que queremos.
  3. Podemos llamarlas de forma sencilla en una consulta y utilizar clausulas contra las mismas, ahora veremos unos ejemplos.
  4. Pueden haber desarrolladores con poca experiencia y con dificultades por hacer complejas consultas, podemos darles la opción de simplemente llamar a una vista para así obtener los datos.
  5. Una vista es un camino simple para guardar complejas consultas de selección en nuestra base de datos.
  6. Una diferencia entre vistas y procedimientos almacenados es que las primeras no aceptan parámetros, no siendo así con los procedimientos almacenados, que si los aceptan.
  7. Un procedimiento almacenado suele utilizarse cuando no es suficiente una simple consulta sql. Los procedimientos almacenados contienen variables, bucles y llamadas a otros procedimientos almacenados.

     
Ejemplo:  
CREATE VIEW
usuarios_comentarios AS
SELECT usuarios.id,nombre, rango, titulo, comentario
FROM usuarios
INNER JOIN comentarios
ON usuarios.id = comentarios.usuario_id;

Comentarios