Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SELECT a.nombre
FROM alumnos a
* → selecciona todos los atributos
SELECT *
FROM alumnos a
as → sirve para poner un alias
SELECT a.fechanacimiento as 'Cumpleaños'
FROM alumnos a;
MONTH() → devuelve devuelve el mes de una fecha La función
YEAR() → devuelve el año de una fecha
Curdate() → devuelve la fecha actual
SELECT MONTH(e.fcontrato) as mes, YEAR(e.fcontrato) as año
FROM empleados e;
● ORDER BY → ordena las filas
SELECT e.nombre, e.oficina, e.fcontrato
FROM empleados e
ORDER BY e.oficina ó 2;
ASC → ascendente
DESC → descendente
DISTINCT → elimina los resultados repetidos
SELECT DISTINCT o.dir
FROM oficinas o;
LIMIT → muestra un número determinado de filas
SELECT e.num, e.nombre
FROM empleados e
ORDER BY e.fcontrato
LIMIT 3;
WHERE → condiciones
SELECT e.nombre
FROM empleados e
WHERE e.oficina = 12;
NOT → no
AND → y
OR → o
SOLO PARA NÚMEROS
> mayor que
< menor que
<>menor y mayor que
<= menor o igual
>= mayor o igual
BETWEEN → entre
WHERE e.ventas BETWEEN 100000 AND 500000;
IN → incluido
WHERE e.oficina IN (12,14,16) ;
IS NULL → valor vacío
WHERE dir IS NULL;
IS NOT NULL → tienen algún valor
WHERE oficina IS NOT NULL
LIKE → que contenga una palabra
WHERE nombre NOT LIKE ‘%Luís%’
NOT LIKE → que no la contenga
WHERE nombre LIKE 'Luís%
CONSULTAS MULTITABLA
INNER JOIN
SELECT *
FROM pedidos p INNER JOIN clientes cl
ON p.cliente=cl.clie
CONSULTAS DE RESUMEN
SUM() → suma los resultados
SELECT SUM(o.ventas)
FROM oficinas o
AVG() → hace la media
COUNT() → cuenta los valores
MAX() y MIN() → Máximo y Mínimo
HAVING → selecciona filas de la consulta
SELECT e.oficina, AVG(e.ventas)
FROM empleados e
GROUP BY e.oficina
HAVING AVG(e.ventas) > 50000
ORDER BY e.oficina
SUBCONSULTAS
SELECT e.nombre, e.num
FROM empleados e
WHERE e.num=(SELECT distinct p.rep
FROM pedidos p
WHERE p.cliente = (SELECT c.clie
FROM clientes c
WHERE c.nombre like 'Juan')) ;
MANIPULACIÓN DE REGISTROS
INSERT INTO → Insertar valores a la tabla
INSERT INTO empleados VALUES (200, 'Juan López', 30, NULL, 'rep
ventas', “2012/02/08”, NULL, 350000, 0)
UPDATE → modifica valores
Poner a 0 las ventas de los empleados de la oficina 12
UPDATE empleados SET ventas=0 WHERE oficina=12;
DELETE → Borrar fila
DELETE nombre FROM pedidos WHERE nombre= 'Julian López'
CREATE DATABASE (nombre de la tabla) → Crear base de datos
DROP TABLE (nombre de la tabla) → borra tabla
DROP DATABASE (nombre de la BD) → borra base de datos
DEFINICIÓN DE DATOS
TIPOS DE DATOS
NUMÉRICOS
TinyInt → pequeño número entero, el valor va entre 0 y 255, o de -128
a 127
Integer, Int → Números enteros
Float → Números con decimales (10,2) pongo 10 valores incluidos
la coma, dos de ellos son decimales
FECHA
Date → Fecha
Time → Hora
CADENA DE CARACTERES
Varchar () → Número fijo de caracteres
RESTRICCIONES
NULL → atributo no obligatorio
NOT NULL → atributo obligatorio
PRIMARY KEY → clave primaria, es única
UNIQUE → sin repeticiones
FOREIGN KEY → Clave foránea, enlaza las tablas
ALTER TABLE empleados
ADD CONSTRAINT fk11 FOREIGN KEY (oficina) REFERENCES
oficinas(numoficina);
ADD → Añadir columna
ALTER TABLE tab1 ADD campo3 integer;
Procedimientos almacenados
create proc pa_(NOMBRE)
select *
from x
where x=y;
execute pa_(NOMBRE)
Procedimientos almacenados.Return
with encryption /*para encriptar, se `pone después de la variable*/
Funciones
CREATE FUNCTION fu_nombre_función
(@parámetro tipo)
RETURNS tipo (ejemlo: @listado(esta tabla es temporal) table)
--pongo la tabla--
AS
BEGIN
--instrucción 1 ejemplo--
if @parámetro tipo=’x’
insert @listado
select *
from tabla;
instrucción2
RETURN valor
END;
Triggers de borrado
Misma estructura que el anterior pero la tabla temporal que se crea es “deleted” y en for
ponemos “for delete”
Triggers de actualización
Misma estructura que el anterior (se crean las tablas temporales "inserted" y “deleted”) pero
en for ponemos “for update”