SlideShare una empresa de Scribd logo
TALLER DE SQL
DDL
ISC. Marcos Gaspar Pech Cruz.
I.- Conectividad con la BD
-- Conectar con el servidor MySQL
mysql -u usuario –p
-- Sintaxis extendida
mysql -h <servidor> -D <BD> -u <usuario>
-p<password>
-- ¿Qué comando utilizamos para salir de MySQL -?
II.- Crear un esquema (“Base de Datos”)
-- Visualizar las BD existentes
SHOW DATABASES;
-- Crear esquema
CREATE SCHEMA <nombre esquema>;
CREATE DATABASE <nombre BD>;
-- Usar un esquema/BD
USE <nombre BD>;
-- Eliminar esquema
DROP [SCHEMA | DATABASE] <nombre BD>;
III.- Crear, modificar y eliminar tablas
-- Crear tabla (sintaxis)
CREATE TABLE <tabla> (
campo1 Tipo[(tamaño)] [NOT NULL],
campoN Tipo() [NULL] [DEFAULT<valor>],
PRIMARY KEY (nombre_campo),
INDEX indice1 (nombre_campo)
) [ENGINE = INNODB];
-- Visualizar tablas creadas y existentes
SHOW TABLES;
-- Eliminar tabla
DROP TABLE <nombre tabla>;
III.- Crear, modificar y eliminar tablas
-- EJEMPLO
CREATE TABLE medicos(
id MEDIUMINT NOT NULL AUTO_INCREMENT,
cedula INT(8) UNIQUE,
apellido_p VARCHAR(25),
apellido_m VARCHAR(25),
nombre VARCHAR(30),
especialidad VARCHAR(50) DEFAULT ‘Médico
General’,
PRIMARY KEY (id)
);
III.- Crear, modificar y eliminar tablas
-- Visualizar tablas creadas
SHOW TABLES;
-- Eliminar tabla
DROP TABLE <nombre tabla>;
-- Ver propiedades de una tabla
EXPLAIN <nombre_tabla>;
DESCRIBE <nombre_tabla>;
DESC <nombre_tabla>;
III.- Crear, modificar y eliminar tablas
-- Modificar nombre de tablas
RENAME TABLE <tabla1> TO <tabla1n>, <tabla2>
TO <tabla2n>;
-- Agregar columna
ALTER TABLE <nombre_tabla>
ADD (<campo_nuevo> TIPO NOT NULL);
-- Eliminar columna
ALTER TABLE <nombre_tabla>
DROP COLUMN <nombre_campo>;
III.- Crear, modificar y eliminar tablas
-- Modificar nombre de columna
ALTER TABLE <nombre_tabla>
CHANGE <nombre_campo> <nombre_nuevo TipoDato>;
-- Modificar tipo de dato
ALTER TABLE <nombre_tabla>
MODIFY <campo> TipoNuevo…>;
IV.- CreateReadUpdateDelete básico
-- Insertar registro
INSERT INTO medicos VALUES(
'', 87654321, 'Peraza', 'Mena', 'Yazmín
Alexandra', DEFAULT
);
NOTA: Al insertar datos, los campos de cadena y fecha
van entre comillas(‘)
-- Leer registros
SELECT * FROM medicos;
-- Eliminar registros
DELETE FROM medicos; --PRECAUCIÓN!!!
IV.- CreateReadUpdateDelete básico
-- Modificar información
UPDATE <nombre_tabla>
SET <columna>=<dato_actualizado>
WHERE <columna_id>=<valor_de_referencia>;
-- Eliminando registro(s) especifico(s)
DELETE FROM <nombre_tabla>
WHERE
<columna_id>[>|<|=|<>]<valor_de_referencia>;
-- Comprobar las sintaxis anteriores en registros
insertados en su BD
La instrucción INSERT
Permite agregar datos a las diferentes tablas en una base de datos. El
usuario tiene la opción de identificar los nombres de la columna en la
tabla que recibirán los datos. Es posible especificar una o más
columnas, debiendo estar dentro de paréntesis y separadas por
comas.
-- Sintaxis básica
INSERT INTO <nombre_tabla>
[ ( <nombre_columna1>, … , <nombre_columnaN> )]
VALUES(
<valor_columna1>, … , <valor_columnaN>
);
La instrucción UPDATE
Permite actualizar los datos en una base de datos SQL. Con la
instrucción UPDATE se pueden modificar datos en una o más filas
para una o más columnas.
-- Sintaxis básica
UPDATE <nombre_tabla>
SET <columna = nuevo valor o expresión>, …
WHERE <condición de búsqueda> ;
-- NOTA: La cláusula WHERE es opcional
La instrucción DELETE
Contiene solamente dos cláusulas, y una sola de ellas es obligatoria.
Si no se incluye una cláusula WHERE en la instrucción DELETE,
todas las filas serán eliminadas de la tabla especificada. Es importante
comprender que la instrucción DELETE no elimina la tabla en sí, sino
solamente filas en la tabla.
-- Sintaxis básica
DELETE FROM <nombre_tabla>
WHERE <condición de búsqueda> ;
-- NOTA: No es posible eliminar valores de columna
individuales desde una tabla, solamente filas. Si se
necesita eliminar un valor de columna específico, se
deberá utilizar una instrucción UPDATE para determinar el
valor a nulo siempre que la columna soporte valores
nulos.
Ingresando datos en tabla “medicos”
-- EJEMPLO
INSERT INTO medicos VALUES
('',22091928,'Fleming', NULL, 'Alexander','Infectólogo’),
('',28081930,'Freud', '', 'Sigmund','Neurólogo’),
('',18801885,'Pasteur', '', 'Louis','Microbiólogo’),
('',18691900,'Lister', ' ', 'Joseph','Cirujano’),
('',18691872,'Miescher', NULL, 'Friedrich','Genetista’),
('',26102010,'Simi', 'Lares', 'Victor',DEFAULT);
V.- Integridad referencial
-- EJEMPLO
CREATE TABLE consultorios(
no_cons INT(3) PRIMARY KEY,
horario CHAR(11),
doctor MEDIUMINT
);
-- Ingrese 3 registros asignando a un par de ellos el id
de un médico inexistente
-- verifique las características de la tabla creada
V.- Integridad referencial
-- Modificando la tabla para crear la integridad…
ALTER TABLE consultorios
ADD CONSTRAINT medico_cons_fk
FOREIGN KEY(doctor) REFERENCES medicos(id)
ON DELETE RESTRICT ON UPDATE CASCADE;
-- Elimine los datos de la tabla e ingrese nuevamente 3
registros asignando a un par de ellos el id de un médico
inexistente
-- verifique las características de la tabla creada
V.- Integridad referencial
Para hacer un manejo más adecuado sobre tablas relacionadas, se
pueden crear las siguientes restricciones al momento de eliminar y/o
actualizar. Si se utilizan ambas opciones al mismo tiempo, primero
debemos ingresar ON DELETE y posteriormente ON UPDATE:
OPCIÓN DESCRIPCIÓN
ON DELETE RESTRICT
ON UPDATE RESTRICT
Es la opción por defecto, no permite la eliminación
mostrando un mensaje de error si se intentase
eliminar.
ON DELETE NO ACTION
ON UPDATE NO ACTION
Se comporta de la misma manera que la instrucción
anterior.
ON DELETE CASCADE
ON UPDATE CASCADE
Elimina/Actualiza los registros de la tabla hija.
ON DELETE SET NULL
ON UPDATE SET NULL
Pone en NULL los campos de la tabla hija que
perdieron/modificaron el registro en la tabla padre.
Taller de MySQL (DDL)

Más contenido relacionado

PPTX
Topolia y tipologia
PDF
Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)
PPTX
Tipos de usuarios de base de datos diapositivas
PPTX
Modelo relacional y reglas de integridad
PDF
Ejercicios sql
PDF
Ejercicio seguridad en redes
PDF
DB1 Unidad 5: SQL Avanzado
PDF
Base de datos (diseño conceptual,logico y fisico)
Topolia y tipologia
Tema2: Tecnologías de desarrollo web (Desarrollo Aplicaciones Web)
Tipos de usuarios de base de datos diapositivas
Modelo relacional y reglas de integridad
Ejercicios sql
Ejercicio seguridad en redes
DB1 Unidad 5: SQL Avanzado
Base de datos (diseño conceptual,logico y fisico)

La actualidad más candente (20)

PPTX
Objeto SqlDataAdapter
PPTX
Trabajo práctico de redes informáticas
PPTX
MYSQL
PDF
Base de Datos para la Farmacia Chimú
PPT
Unidad 2: Sistema de nombres de dominio (DNS)
PPTX
Seguridad y proteccion en Sistemas Operativos
PDF
Unidad 6 Seguridad en redes corporativas
PPTX
Presentación de fases de diseño de base de datos
PDF
Gestión de archivos
PPTX
Programación Orientada a Objetos - herencia y polimorfismo
DOCX
Tipos de Modelos de Datos : Ventajas y Desventajas
PPTX
Fundamentos de BD - Unidad 2 Modelo Entidad Relacion
PDF
5. Ejercicios normalización
PPTX
Taller de Base de Datos - Unidad 7 Conectividad
PPT
Modelos de red
PDF
Diseño logico de una base de datos
PPTX
ARCHIVOS Y DIRECTORIOS EN LINUX
PPT
Iso 12207
PPTX
Presentacion bases de datos
PPT
Integridad de datos
Objeto SqlDataAdapter
Trabajo práctico de redes informáticas
MYSQL
Base de Datos para la Farmacia Chimú
Unidad 2: Sistema de nombres de dominio (DNS)
Seguridad y proteccion en Sistemas Operativos
Unidad 6 Seguridad en redes corporativas
Presentación de fases de diseño de base de datos
Gestión de archivos
Programación Orientada a Objetos - herencia y polimorfismo
Tipos de Modelos de Datos : Ventajas y Desventajas
Fundamentos de BD - Unidad 2 Modelo Entidad Relacion
5. Ejercicios normalización
Taller de Base de Datos - Unidad 7 Conectividad
Modelos de red
Diseño logico de una base de datos
ARCHIVOS Y DIRECTORIOS EN LINUX
Iso 12207
Presentacion bases de datos
Integridad de datos
Publicidad

Similar a Taller de MySQL (DDL) (20)

DOCX
Instrucciones básicas de my sql
PPT
PDF
Parte 08 my sql
PDF
Comandos mysql
PDF
Comandos en consola de mysql desde el portal
PDF
comandos-mysql.pdf
DOC
MANUAL
DOC
PDF
Ejemplo Base de Datos SQLite (Android)
DOCX
Sesión03 - Creación de objetos (Oracle)
DOCX
1 lab-2 -tablas-y-restricciones
PPTX
Material Clase BDD: Diseño de una Base de Datos
PDF
ManualPracticoSQL.pdf
PDF
HTML5 API WebSQL Database: DML: Data Manipulation Language
PPTX
Constraints (restricciones).pptx
PDF
Modulo de programacion sql unidad II
PDF
54563910 curso-de-mysql
PPTX
MANEJO DE SENTENCIAS DE DEFINICION
PDF
EJERCICIO SENTENCIAS SQL_Completo.pdf
PPTX
Fundamentos de SQL Talento tech - Clase 14
Instrucciones básicas de my sql
Parte 08 my sql
Comandos mysql
Comandos en consola de mysql desde el portal
comandos-mysql.pdf
MANUAL
Ejemplo Base de Datos SQLite (Android)
Sesión03 - Creación de objetos (Oracle)
1 lab-2 -tablas-y-restricciones
Material Clase BDD: Diseño de una Base de Datos
ManualPracticoSQL.pdf
HTML5 API WebSQL Database: DML: Data Manipulation Language
Constraints (restricciones).pptx
Modulo de programacion sql unidad II
54563910 curso-de-mysql
MANEJO DE SENTENCIAS DE DEFINICION
EJERCICIO SENTENCIAS SQL_Completo.pdf
Fundamentos de SQL Talento tech - Clase 14
Publicidad

Más de mgpc (9)

PDF
02 diagnóstico manejo del tiempo
PDF
01 el cheque...
PDF
Rúbrica exposiciones
PDF
La exposicion
PDF
Redacción de sintesis e informes de investigación
PDF
Redacción de ensayos
PDF
Reglamento del curso
PDF
Estilo editorial de la apa
PDF
Las competencias
02 diagnóstico manejo del tiempo
01 el cheque...
Rúbrica exposiciones
La exposicion
Redacción de sintesis e informes de investigación
Redacción de ensayos
Reglamento del curso
Estilo editorial de la apa
Las competencias

Último (20)

PPT
Cosacos y hombres del Este en el Heer.ppt
PDF
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
PDF
PFB-MANUAL-PRUEBA-FUNCIONES-BASICAS-pdf.pdf
PDF
DI, TEA, TDAH.pdf guía se secuencias didacticas
PDF
Salcedo, J. et al. - Recomendaciones para la utilización del lenguaje inclusi...
PDF
Escuela Sabática 6. A través del Mar Rojo.pdf
PDF
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
DOCX
2 GRADO UNIDAD 5 - 2025.docx para primaria
DOCX
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
PDF
OK OK UNIDAD DE APRENDIZAJE 5TO Y 6TO CORRESPONDIENTE AL MES DE AGOSTO 2025.pdf
PDF
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
PDF
Romper el Circulo de la Creatividad - Colleen Hoover Ccesa007.pdf
PDF
ciencias-1.pdf libro cuarto basico niños
PDF
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
PDF
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
PDF
SESION 12 INMUNIZACIONES - CADENA DE FRÍO- SALUD FAMILIAR - PUEBLOS INDIGENAS...
PDF
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
PDF
Fundamentos_Educacion_a_Distancia_ABC.pdf
PDF
benveniste-problemas-de-linguistica-general-i-cap-6 (1)_compressed.pdf
PDF
Lección 6 Escuela Sab. A través del mar rojo.pdf
Cosacos y hombres del Este en el Heer.ppt
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
PFB-MANUAL-PRUEBA-FUNCIONES-BASICAS-pdf.pdf
DI, TEA, TDAH.pdf guía se secuencias didacticas
Salcedo, J. et al. - Recomendaciones para la utilización del lenguaje inclusi...
Escuela Sabática 6. A través del Mar Rojo.pdf
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
2 GRADO UNIDAD 5 - 2025.docx para primaria
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
OK OK UNIDAD DE APRENDIZAJE 5TO Y 6TO CORRESPONDIENTE AL MES DE AGOSTO 2025.pdf
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
Romper el Circulo de la Creatividad - Colleen Hoover Ccesa007.pdf
ciencias-1.pdf libro cuarto basico niños
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
SESION 12 INMUNIZACIONES - CADENA DE FRÍO- SALUD FAMILIAR - PUEBLOS INDIGENAS...
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
Fundamentos_Educacion_a_Distancia_ABC.pdf
benveniste-problemas-de-linguistica-general-i-cap-6 (1)_compressed.pdf
Lección 6 Escuela Sab. A través del mar rojo.pdf

Taller de MySQL (DDL)

  • 1. TALLER DE SQL DDL ISC. Marcos Gaspar Pech Cruz.
  • 2. I.- Conectividad con la BD -- Conectar con el servidor MySQL mysql -u usuario –p -- Sintaxis extendida mysql -h <servidor> -D <BD> -u <usuario> -p<password> -- ¿Qué comando utilizamos para salir de MySQL -?
  • 3. II.- Crear un esquema (“Base de Datos”) -- Visualizar las BD existentes SHOW DATABASES; -- Crear esquema CREATE SCHEMA <nombre esquema>; CREATE DATABASE <nombre BD>; -- Usar un esquema/BD USE <nombre BD>; -- Eliminar esquema DROP [SCHEMA | DATABASE] <nombre BD>;
  • 4. III.- Crear, modificar y eliminar tablas -- Crear tabla (sintaxis) CREATE TABLE <tabla> ( campo1 Tipo[(tamaño)] [NOT NULL], campoN Tipo() [NULL] [DEFAULT<valor>], PRIMARY KEY (nombre_campo), INDEX indice1 (nombre_campo) ) [ENGINE = INNODB]; -- Visualizar tablas creadas y existentes SHOW TABLES; -- Eliminar tabla DROP TABLE <nombre tabla>;
  • 5. III.- Crear, modificar y eliminar tablas -- EJEMPLO CREATE TABLE medicos( id MEDIUMINT NOT NULL AUTO_INCREMENT, cedula INT(8) UNIQUE, apellido_p VARCHAR(25), apellido_m VARCHAR(25), nombre VARCHAR(30), especialidad VARCHAR(50) DEFAULT ‘Médico General’, PRIMARY KEY (id) );
  • 6. III.- Crear, modificar y eliminar tablas -- Visualizar tablas creadas SHOW TABLES; -- Eliminar tabla DROP TABLE <nombre tabla>; -- Ver propiedades de una tabla EXPLAIN <nombre_tabla>; DESCRIBE <nombre_tabla>; DESC <nombre_tabla>;
  • 7. III.- Crear, modificar y eliminar tablas -- Modificar nombre de tablas RENAME TABLE <tabla1> TO <tabla1n>, <tabla2> TO <tabla2n>; -- Agregar columna ALTER TABLE <nombre_tabla> ADD (<campo_nuevo> TIPO NOT NULL); -- Eliminar columna ALTER TABLE <nombre_tabla> DROP COLUMN <nombre_campo>;
  • 8. III.- Crear, modificar y eliminar tablas -- Modificar nombre de columna ALTER TABLE <nombre_tabla> CHANGE <nombre_campo> <nombre_nuevo TipoDato>; -- Modificar tipo de dato ALTER TABLE <nombre_tabla> MODIFY <campo> TipoNuevo…>;
  • 9. IV.- CreateReadUpdateDelete básico -- Insertar registro INSERT INTO medicos VALUES( '', 87654321, 'Peraza', 'Mena', 'Yazmín Alexandra', DEFAULT ); NOTA: Al insertar datos, los campos de cadena y fecha van entre comillas(‘) -- Leer registros SELECT * FROM medicos; -- Eliminar registros DELETE FROM medicos; --PRECAUCIÓN!!!
  • 10. IV.- CreateReadUpdateDelete básico -- Modificar información UPDATE <nombre_tabla> SET <columna>=<dato_actualizado> WHERE <columna_id>=<valor_de_referencia>; -- Eliminando registro(s) especifico(s) DELETE FROM <nombre_tabla> WHERE <columna_id>[>|<|=|<>]<valor_de_referencia>; -- Comprobar las sintaxis anteriores en registros insertados en su BD
  • 11. La instrucción INSERT Permite agregar datos a las diferentes tablas en una base de datos. El usuario tiene la opción de identificar los nombres de la columna en la tabla que recibirán los datos. Es posible especificar una o más columnas, debiendo estar dentro de paréntesis y separadas por comas. -- Sintaxis básica INSERT INTO <nombre_tabla> [ ( <nombre_columna1>, … , <nombre_columnaN> )] VALUES( <valor_columna1>, … , <valor_columnaN> );
  • 12. La instrucción UPDATE Permite actualizar los datos en una base de datos SQL. Con la instrucción UPDATE se pueden modificar datos en una o más filas para una o más columnas. -- Sintaxis básica UPDATE <nombre_tabla> SET <columna = nuevo valor o expresión>, … WHERE <condición de búsqueda> ; -- NOTA: La cláusula WHERE es opcional
  • 13. La instrucción DELETE Contiene solamente dos cláusulas, y una sola de ellas es obligatoria. Si no se incluye una cláusula WHERE en la instrucción DELETE, todas las filas serán eliminadas de la tabla especificada. Es importante comprender que la instrucción DELETE no elimina la tabla en sí, sino solamente filas en la tabla. -- Sintaxis básica DELETE FROM <nombre_tabla> WHERE <condición de búsqueda> ; -- NOTA: No es posible eliminar valores de columna individuales desde una tabla, solamente filas. Si se necesita eliminar un valor de columna específico, se deberá utilizar una instrucción UPDATE para determinar el valor a nulo siempre que la columna soporte valores nulos.
  • 14. Ingresando datos en tabla “medicos” -- EJEMPLO INSERT INTO medicos VALUES ('',22091928,'Fleming', NULL, 'Alexander','Infectólogo’), ('',28081930,'Freud', '', 'Sigmund','Neurólogo’), ('',18801885,'Pasteur', '', 'Louis','Microbiólogo’), ('',18691900,'Lister', ' ', 'Joseph','Cirujano’), ('',18691872,'Miescher', NULL, 'Friedrich','Genetista’), ('',26102010,'Simi', 'Lares', 'Victor',DEFAULT);
  • 15. V.- Integridad referencial -- EJEMPLO CREATE TABLE consultorios( no_cons INT(3) PRIMARY KEY, horario CHAR(11), doctor MEDIUMINT ); -- Ingrese 3 registros asignando a un par de ellos el id de un médico inexistente -- verifique las características de la tabla creada
  • 16. V.- Integridad referencial -- Modificando la tabla para crear la integridad… ALTER TABLE consultorios ADD CONSTRAINT medico_cons_fk FOREIGN KEY(doctor) REFERENCES medicos(id) ON DELETE RESTRICT ON UPDATE CASCADE; -- Elimine los datos de la tabla e ingrese nuevamente 3 registros asignando a un par de ellos el id de un médico inexistente -- verifique las características de la tabla creada
  • 17. V.- Integridad referencial Para hacer un manejo más adecuado sobre tablas relacionadas, se pueden crear las siguientes restricciones al momento de eliminar y/o actualizar. Si se utilizan ambas opciones al mismo tiempo, primero debemos ingresar ON DELETE y posteriormente ON UPDATE: OPCIÓN DESCRIPCIÓN ON DELETE RESTRICT ON UPDATE RESTRICT Es la opción por defecto, no permite la eliminación mostrando un mensaje de error si se intentase eliminar. ON DELETE NO ACTION ON UPDATE NO ACTION Se comporta de la misma manera que la instrucción anterior. ON DELETE CASCADE ON UPDATE CASCADE Elimina/Actualiza los registros de la tabla hija. ON DELETE SET NULL ON UPDATE SET NULL Pone en NULL los campos de la tabla hija que perdieron/modificaron el registro en la tabla padre.