Estructura de base de datos
Mysql
Estructura del select en mysql:
El uso común es la selección de datos desde tablas ubicadas
en una base de datos. Inmediatamente, vemos dos palabras claves: necesitamos
SELECT la información FROM una tabla.
Funciona
para hacer consultas en las diferentes tablas de una base de datos y esta a su
vez tiene como finalidad especificar los campos, constantes y expresiones
que se mostrarán en el resultado de la consulta.
Sintaxis:
select * from nombre_Tabla;
Es una sintaxis basica del select.
Es una sintaxis basica del select.
Estructura
DELETE en mysql:
Elimina columnas desde
"nombre_tabla" que satisfagan la condición dada por la
"where" y devuelve el número de registros borrados.
Si se usa una sentencia DELETE sin cláusula WHERE,
todas las filas serán borradas. Una forma más rápida de hacer esto, cuando no
se necesita conocer el número de filas eliminadas, es usar.
DELETE sin la cláusula WHERE retorna cero como
número de filas afectadas.
En esta versión, si realmente se
quiere saber cuántas filas fueron eliminadas cuando se borran todas, y se está
dispuesto a sufrir una pérdida de velocidad, se puede usar una sentencia DELETE con una cláusula WHERE
que siempre se cumpla.
Por ejemplo:
Por ejemplo:
DELETE FROM tabla_nombre WHERE 1>0;
DELETE FROM tabla_nombre WHERE id=1;
DELETE FROM tabla_nombre WHERE id=1;
Estructura de UPDATE en
MYSQL:
UPDATE
actualiza columnas de filas existentes de una tabla con nuevos valores. La
cláusula SET indica las columnas a modificar y los valores que deben
tomar. La cláusula WHERE, si se da, especifica qué filas deben ser
actualizadas. Si no se especifica, serán actualizadas todas ellas. Si se
especifica la cláusula ORDER BY, las filas se modificarán en el orden
especificado. La cláusula LIMIT establece un límite al número de filas
que se pueden actualizar.
Si se
accede a una columna de "nombre_tabla" en una expresión, UPDATE usa el valor actual de la
columna. Por ejemplo, la siguiente sentencia asigna a la columna
"edad" su valor actual más uno:
mysql> UPDATE persondata SET edad=edad+1;
Sintaxis:
UPDATE nombre_tabla SET campo_tabla = 'variable a modificar WHERE condiciòn < dato;
UPDATE nombre_tabla SET campo_tabla = 'variable a modificar WHERE condiciòn < dato;
Una sintaxis para modificar por condicion utilizando WERE.
Estructura del STORED PROCEDURE en MYSQL:
Cuando
desarrollamos una aplicación tenemos (por seguridad) que estar atentos con las
validaciones, evitar que el usuario tenga que introducir la menor cantidad de
datos posibles. Es necesario tratar de reducir la carga del servidor, dividir
el trabajo, conseguir la manera más eficaz de llevar a cabo los procedimientos,
etc. Podemos reducir el tiempo de desarrollo, el mantenimiento de los sistemas,
evitar hacer peticiones de grandes cantidades de datos, si la lógica más
relevante la dejamos del lado de los gestores de base de datos,
específicamente, usando los stores procedures (procedimientos almacenados).
mysql> create procedure nombre_del_procedimiento
()
-> begin /* indica el inicio
de la rutina */
-> /* aqui
va el contenido */
-> end /* indica el fin de la
rutina */;
Query OK, 0 rows affected (0.06 sec)
mysql> delimiter <
mysql> create function saludo () returns char(5)
-> begin
-> return
'hola';
-> end <
Para llamar a un procedimiento usamos la sentencia call:
mysql> call nombre_del_procedimiento();
Para llamar a una función, lo hacemos con select:
mysql> select saludo();
+------------+
| + saludo() |
+------------+
| hola |
+------------+
Antes de crear un procedure es recomendable verificar si existe algún procedimiento con los mismos nombres y de ser así, eliminarlo, eso lo hacemos usando DROP:
Antes de crear un procedure es recomendable verificar si existe algún procedimiento con los mismos nombres y de ser así, eliminarlo, eso lo hacemos usando DROP:
DROP PROCEDURE IF EXISTS Nombre_procedimiento;
Estructura del TRIGGER en MYSQL:
Un
trigger o disparador en una Base de datos , es un procedimiento que se ejecuta
cuando se cumple una condición establecida al realizar una operación.
Dependiendo de la base de datos, los triggers pueden ser de inserción (INSERT),
actualización (UPDATE) o borrado (DELETE). Algunas bases de datos pueden
ejecutar triggers al crear, borrar o editar usuarios, tablas, bases de datos u
otros objetos.
Los
triggers son usados para mejorar la administración de la Base de datos, sin
necesidad de contar con que el usuario ejecute sentencias de SQL
determinadas para tal efecto. Además, pueden generar valores de columnas,
pueden prevenir errores de datos, sincronizar tablas, modificar valores de una
vista, auditorías de seguridad, etc.
La
estructura básica de un trigger es:
- Llamada de activación: es la sentencia que permite "disparar" el código a ejecutar.
- Restricción: es la condición necesaria para realizar el código. Esta restricción puede ser de tipo condicional o de tipo nulidad.
- Acción a ejecutar: es la secuencia de instrucciones a ejecutar una vez que se han cumplido las condiciones iniciales.
Existen
dos tipos de disparadores que se clasifican según la cantidad de ejecuciones a
realizar:
- Row Triggers (o disparadores de fila): son aquellos que se ejecutaran n-veces si se llaman n-veces desde la tabla asociada al trigger.
- Statement Triggers (o disparadores de secuencia): son aquellos que sin importar la cantidad de veces que se cumpla con la condición, su ejecución es única.
Ejemplo:
·
delimiter
$$
·
CREATE TRIGGER
accesos
·
BEFORE
INSERT ON ajsoluciones.factura
·
FOR EACH
ROW
·
BEGIN
·
INSERT
INTO accesos (usuario, fecha)
·
values
(CURRENT_USER(), NOW());
·
END$$
·
delimiter
;
Estructura del VISTAS en MYSQL:
Tiene como finalidad crear tablas
virtuales a partir de consultas SELECT
a otras tablas.
Las vistas de una base de datos en MYSQL tienen la misma estructura de filas y columnas de una tabla, no puede haber una vista con el mismo nombre
de una tabla.
Otras sentecias para trabajar con vistas en MYSQL son:
- DROP VIEW MySQL: Eliminar una vista creada.
- ALTER VIEW MySQL: Modificar las vistas de una base de datos.
Sintaxis:
1
2
|
CREATE [OR REPLACE] VIEW nombre_vista
[column_list]
AS consulta_SELECT
|
Para crear vistas en MySQL:
- OR REPLACE: Reemplaza una vista existente en caso de coincidir en nombre.
- nombre_vista: Nombre de la vista a crear.
- column_list: Listado de columnas a crear.
- consulta_SELECT: Consulta SELECT que queremos realizar para obtener la información que contendrá la vista.
Comentarios
Publicar un comentario