Víctor Gil Rodríguez
Cada sentencia termina con ;
¿Cómo formamos una sentencia DDL en MySQL?
ELEMENTO
OPERACIÓN PRINCIPAL
ELEMENTO
OPERACIÓN PRINCIPAL
CREATE
VIEW
TABLE
DATABASE
DROP
ALTER
RENAME
USE
CREATE DATABASE MiBaseDatos;
USE MiBaseDatos;
DROP DATABASE MiBaseDatos;
EJEMPLOS
NombreBD;
NombreBD;
¿Qué operaciones podemos hacer con el elemento DATABASE?
CREATE
DATABASE
DROP
USE
EJEMPLOS
CREATE TABLE nomTabla1(estructura); ALTER TABLE nomTabla1 + Operación Secundaria; DROP TABLE nomTabla1; RENAME TABLE nomTable1 TO nomTable2;
NombreTabla
¿Qué operaciones podemos hacer con el elemento TABLE?
TABLE
CREATE
ALTER
RENAME
DROP
SINTAXIS:
EJEMPLOS
CREATE TABLE Tabla1( nombreCampo1 tipoDato [restricciónCampo], nombreCampo2 tipoDato, ... , restriccionesTabla PK,FK,CK,... );
( estructura );
TABLE
CREATE
EJEMPLOS
CREATE TABLE DEPARTAMENTO ( codigo CHAR(2), nombre VARCHAR(30) UNIQUE, --campo con restricción de campo CONSTRAINT dep_cod_PK PRIMARY KEY(codigo) -- Restricción clave primaria -- definida al final. ); CREATE TABLE EMPLEADO ( numEmple CHAR(5) PRIMARY KEY, --Restricción clave primaria en campo. nombre VARCHAR(25) NOT NULL, sueldo MEDIUMINT, fechaNac DATE, dpto CHAR(2), CONSTRAINT emp_dep_FK FOREIGN KEY(dpto) REFERENCES DEPARTAMENTO(codigo) on delete SET NULL on update CASCADE --Restricción clave foránea );
( estructura );
TABLE
CREATE
EJEMPLOS
DROP TABLE Empleado; DROP TABLE Departamento; /* IMPORTANTE: No se podrá eliminar una tabla si tiene alguna dependencia con otra mediante una restricción FK. Primero debemos borrar EMPLEADO y después DEPARTAMENTO, es decir, en el sentido contrario en el que se crean. */
NombreTabla;
TABLE
DROP
COLUMN
INDEX
CONSTRAINT
sintaxis según operación a realizar
nomRestricción TipoRestricción (campo)[...];
(nombre campo) ;
Elemento de la tabla
Operación Secundaria
Operación Secundaria
Nombre Tabla
ALTER
DROP
ADD
CHANGE
TABLE
INDEX
nombreIndice;
ALTER TABLE Empleado ADD INDEX idxNombre(Nombre); ALTER TABLE Empleado DROP INDEX idxNombre;
INDEX
nombreIndice (nombre campo) ;
EJEMPLOS
Elemento de la tabla
Operación Secundaria
Operación Secundaria
Nombre Tabla
ALTER
DROP
ADD
TABLE
CONSTRAINT
nomRestricción ;
ALTER TABLE Empleado ADD CONSTRAINT emp_sue_CK CHECK (sueldo>1000); ALTER TABLE Empleado DROP CONSTRAINT emp_sue_CK;
CONSTRAINT
nomRestricción TipoRestricción (campo)[...];
Elemento de la tabla
EJEMPLOS
Operación Secundaria
Operación Secundaria
Nombre Tabla
ALTER
DROP
ADD
TABLE
ALTER TABLE Empleado ADD COLUMN cargo VARCHAR(20); ALTER TABLE Empleado DROP COLUMN fechaNac; ALTER TABLE Empleado CHANGE COLUMN cargo puesto VARCHAR(15) NOT NULL;
COLUMN
nomCampoViejo + nomCampoNuevo + tipoCampo ;
COLUMN
nomCampoExistente;
COLUMN
nomCampo + tipoCampo + [posibleRestricción] ;
EJEMPLOS
Elemento de la tabla
Operación Secundaria
Operación Secundaria
Nombre Tabla
ALTER
DROP
ADD
CHANGE
TABLE
+ AS +
Sentencia SELECT
Nombre Vista
EJEMPLOS
CREATE VIEW empleConta AS SELECT numEmple, nombre FROM EMPLEADO WHERE dpto='11';
¿Qué operaciones podemos hacer con el elemento VIEW?
VIEW
CREATE
DROP