Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TUTORIAL DE BD
Alter: Se utiliza para modificar la estructura de una tabla, éste puede ser combinado con
otros comandos como: ADD, DROP, ADD PRIMARY KEY(), ADD FOREIGN KEY(), entre
otros.
Select: Es utilizado para realizar consultas a la base de datos que cumplan con
alguna condición.
Insert: Es utilizado para la inserción de información en la base de datos.
Update: Se utiliza para la modificación o actualización de información en la base de
datos.
Delete: Elimina registros de la base de datos.
Cláusulas
Order By: Sirve para ordenar registros de acuerdo a algún campo específico.
Esta cláusula puede realizarse de forma ascendente o descendente
Operadores Lógicos
Operadores de Comparación
<>: Diferente.
=: Igual que.
Funciones de Columna
SELECT nombre,
apellido FROM
empleado;
El formato es el siguiente:
SELECT CONCAT(columna1,'separador',columna2) AS
columna_temporal FROM nombre_tabla;
Como separador entre las columnas concatenadas se puede usar la coma (,),
punto (.) O espacio ( ), éste debe estar siempre entre comilla simple.
El resultado es:
Selección de Registros con Condiciones Específicas.
SELECT *
FROM empleado
WHERE cedula=‟15097882‟;
EL SQL permite hacer cálculos con fechas, usando meses, años y días unidos o
separados.
BETWEEN es un operador muy útil a utilizar dentro de la cláusula WHERE, para
especificar un rango de valores inclusivos. Se utiliza normalmente con fechas pero
también se puede usar con strings y con números.
Por ejemplo vamos a listar todos los jefes que han ingresado desde el año 1980
hasta el año 1983.
SQL nos permite calcular el promedio de una columna, contar filas, sumar, mostrar el valor
mínimo o máximo de una columna. A continuación vamos a realizar algunos ejemplos de
funciones de columnas.
SELECT COUNT(ci)
FROM empleado;
Ahora vamos a listar todos los empleados de la empresa por orden alfabético
de sus apellidos.
SELECT apellido,
nombre FROM
empleado
ORDER BY apellido desc;
Construyamos una consulta que nos devuelva el total de empleados por sexo. Esto
se consigue con una nueva cláusula: GROUP BY, en consecuencia debemos añadir
una cuarta pregunta a las preguntas de construcción:
Resultado es:
Ejercicio.
Consultas.
1) Se necesita un listado de toda la información de los clientes
Select * from clientes
2) Se necesita un listado de los productos con el nombre del proveedor
Select * from productos, proveedores
Where prov_id=prod_provId
3) Se necesita un listado de aquellos clientes, con su nofactura, fecha, producto y
cantidades vendidas, de aquellos clientes cuya total de venta sea mayor $100,
ordenado por el total de venta de forma descendente.
select Ventas_NroFactura as Nofactura,Ventas_Fecha as Fecha,
Prod_Descripcion as producto,VD_Cantidad as Cantidad
from clientes,ventas, ventas_detalle, productos
where Cli_Id=Ventas_CliId and
Ventas_Id=VD_VentasId and
VD_ProdId=Prod_Id AND
Ventas_Total>'100'
ORDER by Ventas_Total desc
4) Se necesita un listado del total de ventas realizado por cliente (Agrupado) y de
aquellos clientes cuya total de venta sea mayor $100, ordenado por el total de
venta de forma descendente.
select sum(Ventas_Total) as TotalVenta, Cli_RazonSocial as Cliente
from clientes,ventas, ventas_detalle, productos
where Cli_Id=Ventas_CliId and
Ventas_Id=VD_VentasId and
VD_ProdId=Prod_Id AND
Ventas_Total>'100'
group by Cli_RazonSocial
ORDER by Ventas_Total desc
Este corresponde a la gestión académica de un centro de estudios (instituto con
grupos diurnos y nocturnos, o la universidad con titulaciones que se imparten en
horarios de mañana o tarde), de forma que el alumno se matricula de asignaturas
pero indicando en cuál de los grupos definidos para la misma.
Consultas.
5) Se necesita un listado de toda la información de las aulas
6) Select * from Aulas
7) Se necesita un listado de los nombres de los profesores, títulos, área, grupos
ordenados por su título de forma ascendente.
Select nom_profesor,titulo,área,grupo
from profesores as Profesor, grupos as grupo
where profesor.id_profesor=grupo.idprofesor
order by titulo asc
8) Se necesita un listado de los nombres de los profesores, títulos, área, grupos,
facultad, pero aquellos que cumplan con créditos mayores a 2 y de forma
ordenada por su título de forma ascendente.
Select nom_profesor,titulo,área,grupo
from profesores as Profesor, grupos as grupo, asignatura,programa
where profesor.id_profesor=grupo.idprofesor
and id_asignatura=grupo.id_asignatura
and id_programa=id_curso
order by titulo asc
SUBCONSULTAS
AS consulta
Ejemplo:
Funciones en MySQL
de este modo:
CALL obtenerProductosPorEstado('disponible')
Este será el resultado: