Configurar la Base de Datos y la Tabla
Antes de utilizar las funciones de ventana, necesita una base de datos y una tabla con datos de ejemplo. En este paso, creará una base de datos llamada company y una tabla llamada employees.
Primero, abra la terminal desde su escritorio.
Conéctese al servidor MySQL como usuario root. Dado que este es un entorno de laboratorio, puede usar sudo para conectarse sin contraseña.
sudo mysql -u root
Una vez conectado, verá el prompt de MySQL (mysql>).
Ahora, cree la base de datos company y cambie a ella. La cláusula IF NOT EXISTS evita un error si la base de datos ya existe.
CREATE DATABASE IF NOT EXISTS company;
USE company;
A continuación, cree la tabla employees. Esta tabla almacenará el ID del empleado, el nombre, el departamento y el salario.
CREATE TABLE IF NOT EXISTS employees (
employee_id INT PRIMARY KEY,
employee_name VARCHAR(50),
department VARCHAR(50),
salary DECIMAL(10, 2)
);
Ahora, inserte algunos datos de ejemplo en la tabla employees.
INSERT INTO employees (employee_id, employee_name, department, salary) VALUES
(1, 'Alice', 'Sales', 60000.00),
(2, 'Bob', 'Marketing', 55000.00),
(3, 'Charlie', 'Sales', 65000.00),
(4, 'David', 'IT', 70000.00),
(5, 'Eve', 'Marketing', 62000.00)
ON DUPLICATE KEY UPDATE
employee_name = VALUES(employee_name),
department = VALUES(department),
salary = VALUES(salary);
Para verificar que los datos se insertaron correctamente, puede ver todas las filas de la tabla employees.
SELECT * FROM employees;
La salida debería mostrar los cinco registros que insertó:
+-------------+---------------+------------+----------+
| employee_id | employee_name | department | salary |
+-------------+---------------+------------+----------+
| 1 | Alice | Sales | 60000.00 |
| 2 | Bob | Marketing | 55000.00 |
| 3 | Charlie | Sales | 65000.00 |
| 4 | David | IT | 70000.00 |
| 5 | Eve | Marketing | 62000.00 |
+-------------+---------------+------------+----------+
5 rows in set (0.00 sec)
Con la base de datos y la tabla listas, puede pasar al siguiente paso para aprender sobre las funciones de ventana.