Está en la página 1de 5

UF2

CONCEPTOS Y TEORÍA:
- Tipos de lenguaje de programación SQL:
1. DML → (Data Manipulation Language) es el lenguaje que manipula los datos ya creados. Modifica
los registros o tuplas de la BBDD.
2. DDL → (Data Definition Language) permite la creación de la BBDD y de las tablas de la componen.
3. DCL → (Data Control Language) administra a los usuarios de las BBDD, concediendo o denegando
los permisos oportunos.
4. TCL → (Transaction Control Language) controla el procesamiento de las transacciones de las BBDD.

- Integridad: Se encarga de que los datos que la componen sean lo más correctos posibles.
- Aislamiento: Cada transacción debe actuar de forma secuencial.
- Atomicidad: Actúa como un proceso atómico, es decir, o todo (modificación, agregación o borrado)
se realiza con éxito, o nada. Basta con que falle una mínima parte para que la operación no sea
satisfactoria.
- Consistencia: Cuando se ejecuta la transacción, el sistema debe pasar de un estado consistente a
otro que también lo sea pese a los cambios que se han realizado.
- Permanencia: Todos los cambios que se hayan producido cuando se realiza una transacción no se
pierden, sino que permanecen.

- Tipos de Claves:
● Claves Candidatas: conjunto de atributos que optan a ser clave principal o primaria.
● Clave principal/primaria: El atributo debe formar parte de claves candidatas y que, por alguna
razón, el administrador de la base de datos, lo ha elegido como clave primaria.
● Clave Alternativa: Claves candidatas que no son elegidas como clave primaria.
● Clave Ajenas o foráneas: Atributo o atributos de una relación que son clave primaria de otra
relación distinta y que están relacionadas.
—-------------------COMANDOS DDL—-------------
CREATE: * CREATE…IF NOT EXIST

CREATE DATABASE → CREAR UNA BASE DE DATOS: * IF NOT EXISTS crea la BD sólo si no existe una con el mismo nombre.

Ej: * DATABASE y SCHEMA son sinónimos.

CREATE TABLE → CREAR UNA TABLA: CREATE TABLE … AS … → CREAR TABLA USANDO OTRA:

Ej: Ej:

DROP: * DROP…IF EXIST

DROP DATABASE → ELIMINAR UNA BASE DE DATOS: DROP TABLE → ELIMINAR UNA TABLA:

ALTER: * Comandos con CONSTRAINT:

ALTER TABLE … RENAME… → RENOMBRAR UNA TABLA / COLUMNA

ALTER TABLE … ADD … | ALTER TABLE … ADD COLUMN … → AÑADIR UNA COLUMNA

Ej:

ALTER TABLE … ADD/ADD COLUMN … AFTER … → AÑADIR UNA COLUMNA DESPUÉS DE OTRA

Ej:

ALTER TABLE … ADD/ADD COLUMN … FIRST; → AÑADIR UNA COLUMNA AL PRINCIPIO

Ej:

ALTER TABLE … ADD PRIMARY KEY ( ) → AÑADIR CLAVE PRIMARIA

Ej:

ALTER TABLE … DROP PRIMARY KEY → ELIMINAR UNA CLAVE PRIMARIA

ALTER TABLE … DROP COLUMN … → ELIMINAR UNA COLUMNA

Ej:

ALTER TABLE … MODIFY COLUMN … → CAMBIAR EL TIPO DE DATO DE UNA COLUMNA (TIPO DE DATO O LONGITUD)
… RENAME COLUMN … TO … → CAMBIAR EL NOMBRE DE LA COLUMNA
… CHANGE COLUMN … … … → CAMBIAR EL NOMBRE Y EL TIPO DE DATO DE UNA COLUMNA
TRUNCATE TABLE → (ELIMINAR TODOS LOS REGISTROS DE LA BASE DE DATOS)
(* Es DDL porque internamente lo que hace es borrar la tabla y volverla a crear)

RENAME → (RENOMBRAR TABLAS)


o |
SHOW DATABASES/TABLES/COLUMNS → (MOSTRAR LAS TABLAS/BASES DE DATOS/COLUMNAS EXISTENTES)
/ /
USE → (USAR UNA TABLA/BASE DE DATOS EXISTENTE) Ej:

DESCRIBE → (VER LA DEFINICIÓN DE UNA TABLA EXISTENTE)

* AÑADIR RESTRICCIONES A LAS COLUMNAS:


* PRIMARY KEY→ indica que una columna o varias son clave primaria.

al definir el campo o columna, al final de la creación de la tabla (de una o varias pk) o creando una CONSTRAINT con su nombre

con ALTER TABLE…ADD PRIMARY KEY ( ); o ALTER TABLE…ADD CONSTRAINT (con o sin su nombre) PRIMARY KEY ( );

* FOREIGN KEY → indica que una columna o varias son clave ajena. ( al definir el campo?????)

especificando la fk al final en la creación de la tabla o al final en la creación de la tabla, creando una restricción CONSTRAINT (con o sin su propio nombre)

o con ALTER TABLE…ADD CONSTRAINT…

* UNIQUE → Indica que el valor de la columna es único, no puede haber dos valores iguales en la misma columna.

* NOT NULL→ la columna no permite almacenar valores nulos ( si no se pone nada por defecto es NULL, se pueden almacenar valores nulos).

* DEFAULT → nos permite indicar un valor inicial por defecto si no insertamos ninguno.

* AUTO_INCREMENT → columna autonumérica: su valor se incrementa automáticamente al insertar una fila (sólo en campos de tipo entero)

* CHECK → Nos permite verificar las restricciones sobre una columna.


—------------------COMANDOS DML—-------------
INSERT: → INSERTAR DATOS EN LAS TABLAS
INSERT INTO … VALUES …:

Ej:

Ej:

UPDATE: → MODIFICAR DATOS DE LOS CAMPOS Y REGISTROS ESPECIFICADOS (modificar valores)


UPDATE … SET … (WHERE…): (si no se pone la condición WHERE se modificarán todos los registros de la tabla)

Ej: → →
* Actualizar edad a partir de la fecha de nacimiento → Ej: UPDATE jugador SET edad=TIMESTAMPDIFF (YEAR, fecha_nac, CURDATE());

DELETE: → ELIMINAR REGISTROS EN LAS TABLAS (si no se pone WHERE se eliminarán todos los datos de la tabla)
DELETE FROM … (WHERE…):

Ej: → →

SELECT: → SELECCIONAR/CONSULTAR LOS DATOS DE LAS TABLAS


CONSULTA SIMPLE: .

SELECT * FROM … ( * → todos los datos de la tabla)

Ej: →
SELECT … FROM …

Ej: →
SELECT DISTINCT … FROM … ( DISTINCT → no devuelve valores repetidos, solo valores distintos)

CONSULTA CON RESTRICCIONES (O CONDICIONES): .

SELECT … FROM …WHERE…

→ |
CONSULTA CON ORDENACIÓN (CON O SIN CONDICIÓN): .

SELECT … FROM … (WHERE…) …ORDER BY…ASC/DESC;


CONSULTA DE AGRUPACIÓN GROUP BY /(CON O SIN) FUNCIÓN DE AGREGACIÓN AVG COUNT SUM MAX MIN :
SELECT … FROM … GROUP BY…

Ej:

FUNCIONES DE AGREGACIÓN AVG - COUNT - SUM - MAX - MIN (SIN AGRUPACIÓN)

AVG (la media de los valores de un campo) - COUNT (cantidad de registros de una selección) - SUM (suma de los valores de un campo) - MAX (valor máx de un campo) - MIN (valor mín)

SELECT … FROM … WHERE … GROUP BY… HAVING…


( HAVING → cláusula que agrupa por alguna condición → HAVING surge porque WHERE no puede usarse con funciones de agregación.)

Ej: HAVING + AVG/COUNT/SUM/MAX/MIN condición

CONSULTA MÁS DE UNA TABLA: .

Ej:

SUBCONSULTAS: .

SELECT … FROM …WHERE ( condición con SELECT… FROM… WHERE condición);

Ej:

OTRAS CONSULTAS. EXTENSIONES Y OTRAS CLÁUSULAS DEL LENGUAJE:


UNION → une/combina el resultado de dos o más consultas SELECT.
- Los SELECT dentro de UNION deben tener el mismo número de columnas
- Las columnas deben tener tipos de datos similares y en el mismo orden.
- UNION selecciona solo valores distintos de forma predeterminada

- Para permitir valores duplicados usar UNION ALL:

INNER JOIN → selecciona registros que tienen valores coincidentes en ambas tablas.

Ej:
Ej: Si hay registros en la tabla "Orders" que no tienen coincidencias en "Customers", ¡esos orders no se mostrarán!

LEFT JOIN → devuelve todos los registros de la tabla de la izquierda (tabla1) RIGHT JOIN → devuelve todos los registros de la tabla derecha (tabla2)
y los coincidentes (si los hay) de la tabla de la derecha (tabla2). y los coincidentes (si los hay) de la tabla izquierda (tabla1).

También podría gustarte