Tema 1 - Consultas básicas con una tabla
1.1 Entrando a MySQL
Si hemos hecho la instalación típica, MySQL debería haber quedado dentro de "Archivos de programa".
Para llegar hasta allí, entramos al intérprete de comandos de Windows (por ejemplo, desde el menú de Inicio, en la opción "Ejecutar", tecleando la orden "cmd"), entonces usamos la orden "cd" para llegar hasta la carpeta "bin", en la que están los "binarios" (programas ejecutables) de MySQL. Debería ser algo como:
cd "Archivos de programa\MySQL\MySQL Server 5.0\bin"
Para entrar al entorno de MySQL, como no hemos permitido el acceso anónimo, tendremos que indicar un nombre de usuario con la opción "-u". Como por ahora sólo existe el usuario "root", escribiríamos:
mysql -u root
Y entonces deberíamos ver algo parecido a:
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.0.45-community-nt MySQL Community Edition (GPL) Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>
Ya estamos dentro del "monitor de MySQL". Ahora podemos teclear órdenes directamente en lenguaje SQL y ver los resultados.
1.2 Creando la estructura
En este primer ejemplo, crearemos una base de datos sencilla, que llamaremos "ejemplo1". Esta base de datos contendrá una única tabla, llamada "agenda", que contendrá algunos datos de cada uno de nuestros amigos. Como es nuestra primera base de datos, no pretendemos que sea perfecta, sino sencilla, así que apenas guardaremos tres datos de cada amigo: el nombre, la dirección y la edad.
Para crear la base de datos que contiene todo usaremos "create database", seguido del nombre que tendrá la base de datos:
Podemos tener varias bases de datos en nuestro SGBD (Sistema Gestor de Bases de Datos), así que deberemos indicar cual de ellas queremos usar, con la orden "use":
use ejemplo1;
1.3 Introduciendo datos
Una base de datos, en general, estará formada por varios bloques de información llamados "tablas". En nuestro caso, nuestra tabla almacenará los datos de nuestros amigos. Por tanto, el siguiente paso será decidir qué datos concretos (lo llamaremos "campos") guardaremos de cada amigo. Deberemos pensar también qué tamaño necesitaremos para cada uno de esos datos, porque al gestor de bases de datos habrá que dárselo bastante cuadriculado. Por ejemplo, podríamos decidir lo siguiente:
nombre - texto, hasta 20 letras
dirección - texto, hasta 40 letras
edad - números, de hasta 3 cifras
Cada gestor de bases de datos tendrá una forma de llamar a esos tipos de datos. Por ejemplo, en MySQL podemos usar "VARCHAR" para referirnos a texto hasta una cierta longitud, y "NUMERIC" para números de una determinada cantidad de cifras, de modo que la orden necesaria para crear esta tabla sería:
create table personas (
nombre varchar(20),
direccion varchar(40),
edad decimal(3)
);
Para introducir datos usaremos la orden "insert", e indicaremos tras la palabra "values" los valores para los campos de texto entre comillas, y los valores para campos numéricos sin comillas, así:
insert into personas values ('juan', 'su casa', 25);
Este formato nos obliga a indicar valores para todos los campos, y exactamente en el orden en que se diseñaron. Si no queremos introducir todos los datos, o queremos hacerlo en otro orden, o no recordamos con seguridad el orden, hay otra opción: detallar también en la orden "insert" los nombres de cada uno de los campos, así:
insert into personas
(nombre, direccion, edad)
values (
'pedro', 'su calle', 23
);
1.4 Mostrando datos
Para ver los datos almacenados en una tabla usaremos el formato "SELECT campos FROM tabla". Si queremos ver todos los campos, lo indicaremos usando un asterisco:
select * from personas;
que, en nuestro caso, daría como resultado
+--------+-----------+------+
| nombre | direccion | edad |
+--------+-----------+------+
| juan | su casa | 25 |
| pedro | su calle | 23 |
+--------+-----------+------+
Si queremos ver sólo ciertos campos, detallamos sus nombres, separados por comas:
select nombre, direccion from personas;
y obtendríamos
+--------+-----------+
| nombre | direccion |
+--------+-----------+
| juan | su casa |
| pedro | su calle |
+--------+-----------+
Normalmente no querremos ver todos los datos que hemos introducido, sino sólo aquellos que cumplan cierta condición. Esta condición se indica añadiendo un apartado WHERE a la orden "select", así:
select nombre, direccion from personas where nombre = 'juan';
que nos diría el nombre y la dirección de nuestros amigos llamados "juan":
+--------+-----------+
| nombre | direccion |
+--------+-----------+
| juan | su casa |
+--------+-----------+
A veces no querremos comparar con un texto exacto, sino sólo con parte del contenido del campo (por ejemplo, porque sólo sepamos un apellido o parte de la calle). En ese caso, no compararíamos con el símbolo "igual" (=), sino que usaríamos la palabra "like", y para las partes que no conozcamos usaremos el comodín "%", como en este ejemplo:
select nombre, direccion from personas where direccion like '%calle%';
que nos diría el nombre y la dirección de nuestros amigos llamados que viven en calles que contengan la palabra "calle", precedida por cualquier texto (%) y con cualquier texto (%) a continuación:
+--------+-----------+
| nombre | direccion |
+--------+-----------+
| pedro | su calle |
+--------+-----------+
1.5 Saliendo de MySQL
Es suficiente por hoy. Para terminar nuestra sesión de MySQL, tecleamos la orden quit o exit y volvemos al sistema operativo.