Apuntes mysql

“SET PASSWORD has no significance for user 'root'@'localhost'”

1. ¿Qué es SQL?

SQL (Structured Query Language) es un lenguaje creado por IBM, standard de facto que usamos para operar con bases de datos relacionales. No es un lenguaje de programación en sentido estricto, pero sí nos permite decirle a la base de datos qué datos queremos ver, modificar o eliminar, y cómo queremos organizarlos.

En esta lección trabajaremos con Sakila, una base de datos de ejemplo que simula un videoclub ficticio con películas, actores, clientes y alquileres. Es perfecta para experimentar en un entorno realista sin riesgos.

2. Cómo se lee una sentencia SQL

Una consulta SQL se construye como una frase bien ordenada: primero decimos qué queremos (como SELECT), luego de dónde y, si hace falta, bajo qué condiciones.

Por ejemplo:

SELECT title, rental_rate FROM film WHERE rental_rate < 1.00;

Se puede leer como: "Muestra el título y el precio de alquiler de las películas cuya tarifa sea menor a 1 dólar".

Las sentencias suelen terminar en punto y coma (;), especialmente si estás ejecutando varias en bloque.

3. Errores comunes al empezar

Antes de empezar a escribir consultas, es importante conocer estos errores típicos para evitarlos:

  • Usar comillas dobles (" ") para textos, cuando deben ir entre comillas simples ('Texto').
  • Elegir nombres problemáticos, como select o order, para columnas o tablas.
  • Confundir el orden de ejecución: aunque escribas SELECT ... WHERE ... ORDER BY, internamente se ejecuta primero el FROM, luego el WHERE, etc.

Son detalles que vale la pena dominar temprano para evitar frustraciones.

4. SELECT - Tu primera consulta

SELECT es el comando más usado de SQL: con él pedimos a la base datos que nos muestre información.

Sintaxis básica

>SELECT columna1, columna2, columna3
FROM nombre_tabla;

Ejemplos prácticos

Consulta simple:

>SELECT first_name, last_name FROM customer;

Esto recupera los nombres y apellidos de todos los clientes.

Seleccionar todas las columnas:

>SELECT * FROM actor;

El asterisco (*) es una abreviatura para seleccionar todas las columnas de la tabla.

Cálculos básicos:

>SELECT AVG(rental_rate) FROM film;

Aquí obtenemos el precio medio de alquiler entre todas las películas.

5. WHERE - Filtrar resultados

Para limitar qué datos queremos ver, usamos la cláusula WHERE. Esta se aplica a cada fila verificando valores específicos para determinar si deben incluirse en los resultados.

Sintaxis

>SELECT columna1, columna2
FROM tabla
WHERE condicion
AND/OR otra_condicion;

Operadores de comparación

Operador Descripción Ejemplo
= Igual a precio = 100
!= o <> Distinto de stock != 0
< Menor que edad < 18
<= Menor o igual que cantidad <= 10
> Mayor que salario > 2000
>= Mayor o igual que puntuacion >= 8.5

Ejemplos prácticos

Filtro simple:

>SELECT first_name, last_name
FROM customer
WHERE active = 1;

Muestra solo los clientes activos.

Filtro con texto:

>SELECT title, rental_rate
FROM film
WHERE rating = 'PG-13';

Muestra películas con clasificación PG-13.

Múltiples condiciones:

>SELECT title, rental_rate
FROM film
WHERE rental_rate > 2.00 AND rating = 'R';

Películas con tarifa mayor a $2 Y clasificación R.

6. Operadores especiales

BETWEEN - Rangos de valores

>SELECT title, rental_rate
FROM film
WHERE rental_rate BETWEEN 2.00 AND 4.00;

Películas con tarifa entre 2 y 4 (inclusive).

IN - Lista de valores

>SELECT title, rating
FROM film
WHERE rating IN ('G', 'PG', 'PG-13');

Películas con cualquiera de estas tres clasificaciones.

NOT - Negación

>SELECT title, rating
FROM film
WHERE rating NOT IN ('NC-17', 'R');

Películas que NO tienen clasificación NC-17 o R.

7. ORDER BY - Ordenar resultados

Para organizar los resultados usamos ORDER BY:

Sintaxis

>SELECT columnas
FROM tabla
WHERE condiciones
ORDER BY columna ASC/DESC;

Ejemplos

Orden ascendente (por defecto):

>SELECT title, rental_rate
FROM film
ORDER BY rental_rate;

Películas ordenadas por precio de menor a mayor.

Orden descendente:

>SELECT title, rental_rate
FROM film
ORDER BY rental_rate DESC;

Películas ordenadas por precio de mayor a menor.

Múltiples criterios:

>SELECT title, rating, rental_rate
FROM film
ORDER BY rating, rental_rate DESC;

Primero por clasificación (A-Z), luego por precio (mayor a menor).

8.LIMIT - Limitar resultados

Para obtener solo un número específico de resultados:

>SELECT title, rental_rate
FROM film
ORDER BY rental_rate DESC
LIMIT 5;

Muestra las 5 películas más caras de alquilar.

Resumen

En esta lección has aprendido:

  • La sintaxis básica de SQL y cómo leer una consulta
  • A usar SELECT para obtener datos de una tabla
  • A filtrar resultados con WHERE y diversos operadores
  • A ordenar y limitar resultados con ORDER BY y LIMIT
TOP