Documentos de Académico
Documentos de Profesional
Documentos de Cultura
BBDD Comandos DDL-DML Apuntes 2022
BBDD Comandos DDL-DML Apuntes 2022
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.
CREATE TABLE → CREAR UNA TABLA: CREATE TABLE … AS … → CREAR TABLA USANDO OTRA:
Ej: Ej:
DROP DATABASE → ELIMINAR UNA BASE DE DATOS: DROP TABLE → ELIMINAR UNA TABLA:
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:
Ej:
Ej:
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)
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)
* 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)
Ej:
Ej:
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: → →
Ej: →
SELECT … FROM …
Ej: →
SELECT DISTINCT … FROM … ( DISTINCT → no devuelve valores repetidos, solo valores distintos)
→ |
CONSULTA CON ORDENACIÓN (CON O SIN CONDICIÓN): .
Ej:
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)
Ej:
SUBCONSULTAS: .
Ej:
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).