Hasta ahora, este es el séptimo weblog en el viaje de los conceptos básicos para avanzar en SQL. puede consultar blogs anteriores para aprender SQL desde cero. Este weblog contiene buenos conocimientos sobre vistas, funciones y procedimientos almacenados.
Una vista es en realidad un enfoque basado en una tabla digital como un conjunto de resultados para la declaración SQL. Puede haber varias tablas, es decir, el número máximo de fuentes de tablas que se pueden unir en una sola consulta es 256.
Una vista contiene filas y columnas como una tabla en la base de datos, los campos de una vista son campos de una o más tablas.
¿Por qué necesitamos vistas?
Se utilizan vistas por motivos de seguridad porque encapsulan el nombre de la tabla. Los datos están en la tabla digital, no almacenados permanentemente. Las vistas muestran solo los datos seleccionados, sea cual sea y sin embargo, necesita que sean sus datos.
Podemos usar la cláusula Joins/perform/SQL en las vistas.
Sintaxis para crear una vista:
CREAR VISTA ver_nombre COMO
SELECCIONAR columna1, columna2… DE nombre de la tabla DÓNDE condición;
Create View Salesman_info
As
choose s.salesmanid,s.metropolis, rely(customerid) no_of_sales from salesman s
left be a part of buyer c on c.salesmanid = s.salesmanid
group by 1;
Esto funciona exactamente igual que la tabla y muestra los datos cada vez que ejecuta una consulta de selección en la vista y no tiene que escribir esa consulta compleja una y otra vez.
Sintaxis para actualizar una vista:
CREAR O REEMPLAZAR VISTA ver_nombre COMO
SELECCIONAR columna1, columna2… DE nombre de la tabla DÓNDE condición;
Sintaxis para descartar una vista:
SOLTAR VISTA ver_nombre;
Esta vista proporciona varios beneficios.
- Las vistas pueden ocultar la complejidad.
- Las vistas se pueden utilizar como mecanismo de seguridad.
- Las vistas pueden simplificar el código heredado appropriate.
Funciones integradas: Hay muchas funciones incorporadas que podemos acceder o manipular nuestros datos según sea necesario. Algunas de las funciones son funciones de cadena, funciones matemáticas/numéricas, funciones de fecha, funciones avanzadas o funciones agregadas.
Función definida por el usuario: SQL permite a los usuarios crear funciones personalizadas de acuerdo con sus requisitos exactos.
Hay tres tipos de funciones definidas por el usuario:
- Las funciones escalares, es decir, devuelven un único valor.
- Funciones de valores de tabla, es decir, devuelven un conjunto de tablas.
- Funciones de valores de tablas múltiples, es decir, devuelven un conjunto de tablas.
Nota: solo podemos usar la consulta de selección en funciones definidas por el usuario.
Aquí he creado una función para calcular la edad usando la fecha de nacimiento en MYSQL.
DELIMITER $$
CREATE FUNCTION Calculate_Age
(
DOB date
)
RETURNS INT DETERMINISTIC
BEGIN
RETURN YEAR(CURRENT_DATE()) - YEAR(DOB);
END$$
DELIMITER ;
Podemos usar funciones usando la cláusula choose /the place/have.
Procedimientos almacenados: Un procedimiento almacenado es un código SQL preparado que puede guardar, por lo que el código puede reutilizarse una y otra vez. Entonces, si tiene una consulta SQL que escribe una y otra vez, guárdela como un procedimiento almacenado y luego simplemente llámela para ejecutarla.
Sintaxis del procedimiento almacenado:
CREAR PROCEDIMIENTO nombre_procedimiento
COMO
declaración_sql
IR;
Ejecutar un procedimiento almacenado
EJECUTIVO nombre_procedimiento;
¿Por qué usamos el procedimiento almacenado en lugar de la función?
- El procedimiento almacenado puede devolver valores cero, únicos y múltiples.
- El procedimiento almacenado también puede devolver conjuntos de datos de tablas según sea necesario mediante múltiples consultas SQL.
- Podemos llamar a la función en el procedimiento almacenado.
- El procedimiento almacenado puede tener valores y parámetros de entrada/salida.
- No podemos usar la instrucción choose/the place/have con los SP.
- Podemos usar insertar/actualizar/eliminar y seleccionar en el procedimiento almacenado.
- El procedimiento almacenado de SQL puede ejecutar SQL dinámico.
DELIMITER $$
CREATE PROCEDURE Proc_Saleman_Info_Data()
BEGIN
## Kind 1
choose s.salesmanid,s.metropolis, rely(customerid) no_of_sales from salesman s
left be a part of buyer c on c.salesmanid = s.salesmanid
group by 1;## Kind 2
insert into salesman
values(5008,'Shikha rawat','India',12);
END$$
DELIMITER ;
Aquí he creado un procedimiento almacenado utilizando declaraciones de selección e inserción.
name Proc_Saleman_Info_Data();
En MYSQL, usamos la llamada para ejecutar el procedimiento almacenado.
En SQL SERVER, usamos exec para ejecutar el procedimiento almacenado.
Preguntas de entrevista populares para vistas/funciones/procedimiento almacenado.
Pregunta 1: ¿Cuáles son sus puntos de vista?
Ques2: ¿Cuántas tablas podemos usar en las vistas?
Ques3: ¿Diferencia entre función y procedimiento almacenado?
¡Gracias por leerlo y si te gusta, no olvides dar un aplauso!
¡Que tenga un lindo día!
============================= EL FIN=================== =======
GitHub: Sesión del día 7
¡Dale una estrella en Git Hub!
Referencia :
¡Espero que lo hayas encontrado útil! ¡Gracias por leer!
Sígueme para más publicaciones relacionadas con la ciencia de datos!
vamos a conectarnos LinkedIn!