Manipulación básica de datos en MySQL

SQLSQLBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, exploraremos las operaciones fundamentales de manipulación de datos en MySQL. Aprenderá cómo insertar, seleccionar, actualizar y eliminar datos en tablas de MySQL. Estas operaciones, comúnmente conocidas como CRUD (Crear, Leer, Actualizar, Eliminar), son la base de las interacciones con la base de datos. A través de ejercicios prácticos, adquirirá experiencia práctica con estas operaciones esenciales de la base de datos y entenderá cómo administrar eficazmente los datos en tablas de MySQL.

Inserción básica de datos

En este paso, aprenderemos cómo insertar datos en tablas de MySQL utilizando la declaración INSERT. Comenzaremos con inserciones simples de una sola fila y luego pasaremos a inserciones de múltiples filas.

Primero, conectémonos a MySQL:

sudo mysql -u root

Una vez conectados, seleccionemos la base de datos store:

USE store;

Inserción de una sola fila

Comencemos insertando un solo producto en nuestra tabla products:

INSERT INTO products (name, price, description)
VALUES ('Coffee Maker', 49.99, 'A 12-cup drip coffee maker with programmable timer');

Desglosemos este comando:

  • INSERT INTO products: Especifica la tabla en la que estamos insertando datos.
  • (name, price, description): Enumera las columnas para las que estamos proporcionando valores.
  • VALUES (...): Especifica los valores reales a insertar.

Tenga en cuenta que no incluimos:

  • id: Es autoincremental, por lo que MySQL lo maneja automáticamente.
  • created_at: Tiene un valor predeterminado de la marca de tiempo actual.

Para verificar nuestra inserción, podemos seleccionar los datos:

SELECT * FROM products;

Debería ver una salida como esta:

+----+--------------+--------+----------------------------------------------------+---------------------+
| id | name         | price  | description                                        | created_at          |
+----+--------------+--------+----------------------------------------------------+---------------------+
|  1 | Coffee Maker |  49.99 | A 12-cup drip coffee maker with programmable timer | 2024-11-07 09:12:06 |
+----+--------------+--------+----------------------------------------------------+---------------------+

Inserción de múltiples filas

Ahora, insertemos múltiples productos a la vez. Esto es más eficiente que insertar filas una por una:

INSERT INTO products (name, price, description) VALUES
    ('Toaster', 29.99, '2-slice toaster with multiple browning settings'),
    ('Blender', 79.99, 'High-speed blender for smoothies and soups'),
    ('Microwave', 129.99, '1000-watt microwave with digital controls');

Este comando sigue la misma estructura que la inserción de una sola fila, pero incluye múltiples conjuntos de valores separados por comas.

Verifiquemos nuestras inserciones:

SELECT * FROM products;

Debería ver una salida como esta:

+----+--------------+--------+----------------------------------------------------+---------------------+
| id | name         | price  | description                                        | created_at          |
+----+--------------+--------+----------------------------------------------------+---------------------+
|  1 | Coffee Maker |  49.99 | A 12-cup drip coffee maker with programmable timer | 2024-11-07 09:12:06 |
|  2 | Toaster      |  29.99 | 2-slice toaster with multiple browning settings    | 2024-11-07 09:12:16 |
|  3 | Blender      |  79.99 | High-speed blender for smoothies and soups         | 2024-11-07 09:12:16 |
|  4 | Microwave    | 129.99 | 1000-watt microwave with digital controls          | 2024-11-07 09:12:16 |
+----+--------------+--------+----------------------------------------------------+---------------------+

Consultas SELECT básicas

En este paso, aprenderemos cómo recuperar datos de nuestra tabla utilizando declaraciones SELECT. Exploraremos diferentes formas de seleccionar y dar formato a nuestra salida.

Seleccionar columnas específicas

En lugar de seleccionar todas las columnas con *, podemos especificar exactamente qué columnas queremos ver:

SELECT name, price FROM products;

Esto nos da una vista más enfocada de nuestros datos:

+-------------+--------+
| name        | price  |
+-------------+--------+
| Coffee Maker| 49.99  |
| Toaster     | 29.99  |
| Blender     | 79.99  |
| Microwave   | 129.99 |
+-------------+--------+

Usar alias de columnas

Podemos hacer que nuestra salida sea más legible utilizando alias de columnas con la palabra clave AS:

SELECT
    name AS product_name,
    price AS retail_price,
    price * 0.8 AS sale_price
FROM products;

Esta consulta:

  • Renombra name a product_name
  • Renombra price a retail_price
  • Calcula un precio de venta (20% de descuento) y lo nombra sale_price

Verá una salida como esta:

+-------------+-------------+------------+
| product_name| retail_price| sale_price |
+-------------+-------------+------------+
| Coffee Maker| 49.99       | 39.99      |
| Toaster     | 29.99       | 23.99      |
| Blender     | 79.99       | 63.99      |
| Microwave   | 129.99      | 103.99     |
+-------------+-------------+------------+

Filtrar resultados

Podemos usar la cláusula WHERE para filtrar nuestros resultados:

SELECT name, price
FROM products
WHERE price < 50.00;

Esto nos muestra solo los productos por debajo de $50:

+-------------+-------+
| name        | price |
+-------------+-------+
| Coffee Maker| 49.99 |
| Toaster     | 29.99 |
+-------------+-------+

Actualización de datos

En este paso, aprenderemos cómo modificar datos existentes utilizando la declaración UPDATE. La declaración UPDATE nos permite cambiar los valores en nuestras tablas.

IMPORTANTE: ¡Siempre use una cláusula WHERE con las declaraciones UPDATE! Sin WHERE, la actualización afectará a TODAS las filas de la tabla.

Digamos que necesitamos aumentar el precio de nuestra Cafetera (Coffee Maker):

UPDATE products
SET price = 54.99
WHERE name = 'Coffee Maker';

También podemos actualizar múltiples columnas a la vez:

UPDATE products
SET
    price = 89.99,
    description = 'Professional-grade high-speed blender for smoothies and soups'
WHERE name = 'Blender';

Para verificar nuestras actualizaciones:

SELECT name, price, description
FROM products
WHERE name IN ('Coffee Maker', 'Blender');

Debería ver los valores actualizados:

+--------------+-------+---------------------------------------------------------------+
| name         | price | description                                                   |
+--------------+-------+---------------------------------------------------------------+
| Coffee Maker | 54.99 | A 12-cup drip coffee maker with programmable timer            |
| Blender      | 89.99 | Professional-grade high-speed blender for smoothies and soups |
+--------------+-------+---------------------------------------------------------------+

Eliminación de datos

En este último paso, aprenderemos cómo eliminar datos de nuestras tablas utilizando la declaración DELETE. Al igual que con UPDATE, es fundamental utilizar WHERE con DELETE para evitar eliminar accidentalmente todos los datos.

Eliminemos el Tostador (Toaster) de nuestros productos:

DELETE FROM products
WHERE name = 'Toaster';

Para verificar la eliminación:

SELECT * FROM products;

Debería ver todos los productos excepto el Tostador:

+----+-------------+-------+-----------------------------------------------------+---------------------+
| id | name        | price | description                                         | created_at          |
+----+-------------+-------+-----------------------------------------------------+---------------------+
|  1 | Coffee Maker| 54.99 | A 12-cup drip coffee maker with programmable timer | 2024-01-01 12:00:00 |
|  3 | Blender     | 89.99 | Professional-grade high-speed blender for smoothies| 2024-01-01 12:00:00 |
|  4 | Microwave   | 129.99| 1000-watt microwave with digital controls          | 2024-01-01 12:00:00 |
+----+-------------+-------+-----------------------------------------------------+---------------------+

También podemos eliminar múltiples filas a la vez. Eliminemos todos los productos que cuestan más de $100:

DELETE FROM products
WHERE price > 100;

Esto debería eliminar el Microondas (Microwave) de nuestra lista de productos.

MariaDB [store]> SELECT * FROM products;
+----+--------------+-------+---------------------------------------------------------------+---------------------+
| id | name         | price | description                                                   | created_at          |
+----+--------------+-------+---------------------------------------------------------------+---------------------+
|  1 | Coffee Maker | 54.99 | A 12-cup drip coffee maker with programmable timer            | 2024-11-07 09:12:06 |
|  3 | Blender      | 89.99 | Professional-grade high-speed blender for smoothies and soups | 2024-11-07 09:12:16 |
+----+--------------+-------+---------------------------------------------------------------+---------------------+

Resumen

En este laboratorio, hemos cubierto las operaciones fundamentales de manipulación de datos en MySQL:

  1. Declaraciones INSERT para agregar una o múltiples filas de datos
  2. Consultas SELECT para recuperar y dar formato a los datos
  3. Declaraciones UPDATE para modificar datos existentes
  4. Declaraciones DELETE para eliminar datos de las tablas

Estas operaciones forman la base de la manipulación de bases de datos y son habilidades esenciales para cualquier persona que trabaje con bases de datos.