0% encontró este documento útil (0 votos)
26 vistas6 páginas

Practocas de Base de Datos

El documento detalla prácticas de gestión de bases de datos en MySQL, incluyendo la creación de bases de datos, tablas, inserción y consulta de datos. Se presentan ejemplos de consultas avanzadas, actualizaciones y eliminaciones, así como la creación de relaciones muchos a muchos. Además, se proporciona un resumen de comandos básicos para facilitar el uso de MySQL.

Cargado por

maita.argote456
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
26 vistas6 páginas

Practocas de Base de Datos

El documento detalla prácticas de gestión de bases de datos en MySQL, incluyendo la creación de bases de datos, tablas, inserción y consulta de datos. Se presentan ejemplos de consultas avanzadas, actualizaciones y eliminaciones, así como la creación de relaciones muchos a muchos. Además, se proporciona un resumen de comandos básicos para facilitar el uso de MySQL.

Cargado por

maita.argote456
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Prácticas detalladas de base de datos en MySQL con

ejemplos
1. Crear una base de datos

Para comenzar, abre MySQL (puedes usar la terminal o una herramienta gráfica como
MySQL Workbench) y ejecuta el siguiente comando para crear una base de datos llamada
empresa:

sql
CREATE DATABASE empresa;

Luego selecciona la base de datos para trabajar en ella:

sql
USE empresa;

2. Crear tablas

Supongamos que queremos gestionar empleados y departamentos. Creamos las siguientes


tablas:

sql
CREATE TABLE departamentos (
id_departamento INT AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(100) NOT NULL
);

CREATE TABLE empleados (


id_empleado INT AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(100) NOT NULL,
apellido VARCHAR(100) NOT NULL,
salario DECIMAL(10,2),
id_departamento INT,
FOREIGN KEY (id_departamento) REFERENCES departamentos(id_departamento)
);

3. Insertar datos en las tablas

Agregamos algunos departamentos y empleados:

sql
INSERT INTO departamentos (nombre) VALUES
('Recursos Humanos'),
('Tecnología'),
('Finanzas');

INSERT INTO empleados (nombre, apellido, salario, id_departamento) VALUES


('Ana', 'Pérez', 2500.00, 1),
('Luis', 'Gómez', 3200.00, 2),
('María', 'López', 2800.00, 3),
('Carlos', 'Martínez', 3000.00, 2);

4. Consultar datos

Para ver todos los empleados:

sql
SELECT * FROM empleados;

Para ver los empleados junto con el nombre de su departamento (JOIN):

sql
SELECT [Link], [Link], [Link], [Link] AS
departamento
FROM empleados
INNER JOIN departamentos ON empleados.id_departamento = departamentos.id_departamento;

5. Consultas avanzadas

• Obtener los empleados con salario mayor a 2800:

sql
SELECT nombre, apellido, salario FROM empleados WHERE salario > 2800;

• Contar cuántos empleados hay por departamento:

sql
SELECT [Link], COUNT(empleados.id_empleado) AS total_empleados
FROM empleados
INNER JOIN departamentos ON empleados.id_departamento = departamentos.id_departamento
GROUP BY [Link];

6. Actualizar y eliminar datos

• Actualizar salario de un empleado:

sql
UPDATE empleados SET salario = 3500 WHERE nombre = 'Luis' AND apellido = 'Gómez';

• Eliminar un empleado:

sql
DELETE FROM empleados WHERE nombre = 'Ana' AND apellido = 'Pérez';

7. Ejemplo de relación muchos a muchos

Si un empleado puede trabajar en varios proyectos, se crea una tabla intermedia:

sql
CREATE TABLE proyectos (
id_proyecto INT AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(100) NOT NULL
);

CREATE TABLE trabaja_en (


id_empleado INT,
id_proyecto INT,
horas INT,
PRIMARY KEY (id_empleado, id_proyecto),
FOREIGN KEY (id_empleado) REFERENCES empleados(id_empleado),
FOREIGN KEY (id_proyecto) REFERENCES proyectos(id_proyecto)
);

8. Consultas multitabla y ejercicios

• Listar todos los proyectos en los que trabaja cada empleado:

sql
SELECT [Link], [Link], [Link] AS proyecto, trabaja_en.horas
FROM trabaja_en
INNER JOIN empleados ON trabaja_en.id_empleado = empleados.id_empleado
INNER JOIN proyectos ON trabaja_en.id_proyecto = proyectos.id_proyecto;

Resumen de comandos básicos


Acción Comando SQL Ejemplo

Crear base de datos CREATE DATABASE empresa;

Seleccionar base USE empresa;

Crear tabla CREATE TABLE empleados (...);

Insertar datos INSERT INTO empleados (...) VALUES (...);

Consultar datos SELECT * FROM empleados;

Actualizar datos UPDATE empleados SET salario = 3500 WHERE ...;

Eliminar datos DELETE FROM empleados WHERE ...;

Unir tablas (JOIN) SELECT ... FROM empleados INNER JOIN departamentos ...;

1. Crear una base de datos


Para comenzar, abre MySQL (puedes usar la terminal o una herramienta gráfica como
MySQL Workbench) y ejecuta el siguiente comando para crear una base de datos llamada
empresa:

sql
CREATE DATABASE empresa;

Luego selecciona la base de datos para trabajar en ella:

sql
USE empresa;

2. Crear tablas

Supongamos que queremos gestionar empleados y departamentos. Creamos las siguientes


tablas:

sql
CREATE TABLE departamentos (
id_departamento INT AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(100) NOT NULL
);

CREATE TABLE empleados (


id_empleado INT AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(100) NOT NULL,
apellido VARCHAR(100) NOT NULL,
salario DECIMAL(10,2),
id_departamento INT,
FOREIGN KEY (id_departamento) REFERENCES departamentos(id_departamento)
);

3. Insertar datos en las tablas

Agregamos algunos departamentos y empleados:

sql
INSERT INTO departamentos (nombre) VALUES
('Recursos Humanos'),
('Tecnología'),
('Finanzas');

INSERT INTO empleados (nombre, apellido, salario, id_departamento) VALUES


('Ana', 'Pérez', 2500.00, 1),
('Luis', 'Gómez', 3200.00, 2),
('María', 'López', 2800.00, 3),
('Carlos', 'Martínez', 3000.00, 2);

4. Consultar datos

Para ver todos los empleados:


sql
SELECT * FROM empleados;

Para ver los empleados junto con el nombre de su departamento (JOIN):

sql
SELECT [Link], [Link], [Link], [Link] AS
departamento
FROM empleados
INNER JOIN departamentos ON empleados.id_departamento = departamentos.id_departamento;

5. Consultas avanzadas

• Obtener los empleados con salario mayor a 2800:

sql
SELECT nombre, apellido, salario FROM empleados WHERE salario > 2800;

• Contar cuántos empleados hay por departamento:

sql
SELECT [Link], COUNT(empleados.id_empleado) AS total_empleados
FROM empleados
INNER JOIN departamentos ON empleados.id_departamento = departamentos.id_departamento
GROUP BY [Link];

6. Actualizar y eliminar datos

• Actualizar salario de un empleado:

sql
UPDATE empleados SET salario = 3500 WHERE nombre = 'Luis' AND apellido = 'Gómez';

• Eliminar un empleado:

sql
DELETE FROM empleados WHERE nombre = 'Ana' AND apellido = 'Pérez';

7. Ejemplo de relación muchos a muchos

Si un empleado puede trabajar en varios proyectos, se crea una tabla intermedia:

sql
CREATE TABLE proyectos (
id_proyecto INT AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(100) NOT NULL
);

CREATE TABLE trabaja_en (


id_empleado INT,
id_proyecto INT,
horas INT,
PRIMARY KEY (id_empleado, id_proyecto),
FOREIGN KEY (id_empleado) REFERENCES empleados(id_empleado),
FOREIGN KEY (id_proyecto) REFERENCES proyectos(id_proyecto)
);

8. Consultas multitabla y ejercicios

• Listar todos los proyectos en los que trabaja cada empleado:

sql
SELECT [Link], [Link], [Link] AS proyecto, trabaja_en.horas
FROM trabaja_en
INNER JOIN empleados ON trabaja_en.id_empleado = empleados.id_empleado
INNER JOIN proyectos ON trabaja_en.id_proyecto = proyectos.id_proyecto;

Resumen de comandos básicos


Acción Comando SQL Ejemplo
Crear base de datos CREATE DATABASE empresa;
Seleccionar base USE empresa;
Crear tabla CREATE TABLE empleados (...);
Insertar datos INSERT INTO empleados (...) VALUES (...);
Consultar datos SELECT * FROM empleados;
Actualizar datos UPDATE empleados SET salario = 3500 WHERE ...;
Eliminar datos DELETE FROM empleados WHERE ...;
Unir tablas (JOIN) SELECT ... FROM empleados INNER JOIN departamentos ...;

También podría gustarte