
Empezando con bases de datos MySQL
Si todo ha ido bien, ya tendremos instalado nuestro servidor de bases de datos MySQL. Y ya tendremos todo listo para comenzar a trabajar con el. Pero como puede que haya gente que no sepa que es exactamente una base de datos vamos a intentar explicarlo.
¿Qué es una base de datos?
Como la mejor manera de entenderlo es trabajar verdaderamente con una base de datos, y es lo que aremos en los siguientes tutoriales; Pero por ahora intentaremos dar una definición lo más clara posible:
“Una base de datos permite organizar dichos datos de manera que sea sencillo extraer cualquier información de los mismos”
Para entendernos con un ejemplo vamos a trabajar en una base de datos que servirá para guardar datos de la lista de películas de su colección, así, si los organizamos de una manera correcta en la base de datos, será muy sencillo obtener por ejemplo una lista ordenada alfabéticamente, saber cuales las a dirigido el mismo director, o en cuantas a participado un determinado actor etc. (Ahora ya parece que empezamos a entender lo que es una base de datos).
Para organizarlas correctamente, dentro de las bases de datos se utilizan unas estructuras llamadas “tablas”.
¿Qué es una tabla?
Como por ejemplo en Word, una tabla es una lista de datos, organizados por columnas y filas. Por ejemplo, la siguiente tabla muestra unas películas dentro de una lista.
TituloDirectorAño
Turistas John Stockwell2007
El UnicoJames Wong2001
Dentro de un sistema gestor de bases de datos, la información se puede organizar dentro de tablas, en las que solo tendremos que decidir qué columnas queremos que tenga y de que tipo va a ser la información que tendrán (Numérico, texto, etc)
Una vez decidamos la estructura de la tabla, podremos almacenar información en ella. A cada fila de la tabla se le llamara Registro. Por lo tanto, una tabla se compone de:
Una definición para cada columna
Un conjunto de registros
Al igual que pasaba con la definición de base de datos, si no sabemos bien que es una tabla, no lo comprenderemos claramente asta que no empecemos a trabajar con ellas.
¿Como crear una base de datos?
Aunque existen muchas formas de crear bases de datos MySQL, una de las mejores formas es utilizando scripts, es decir, un texto con instrucciones para MySQL. Normalmente si queremos guardar estos scripts, los deberíamos de guardar con la extensión sql.
Ahora, vamos a crear una base de datos de prueba, a la que llamaremos biblioteca, y en ella crearemos una tabla y varios campos para que esta sea utilizable.
Este seria el script para crear la base de datos MySQL, con su tabla y los campos:
DROP DATABASE IF EXISTS biblioteca;
CREATE DATABASE biblioteca;
USE biblioteca;
DROP TABLE IF EXISTS libro;
CREATE TABLE libro (
titulo VARCHAR(60),
escritor VARCHAR (80)
);
Antes que nada, es importante aclarar, que el texto que esta escrito en mayúsculas es el que proviene del lenguaje SQL, esto lo hacemos para que veáis bien la diferencia de lo que es código SQL y lo que no.
Es importante saber que debemos evitar poner acentos y espacios en los nombres de las bases de datos y las tablas, ya que puede darnos error; eso si, en los datos podremos incluirlos sin ningún problema.
Ahora que ya esta aclarado, vamos a intentar explicar línea por línea nuestro script
Con la primera línea, estamos diciendo a MySQL que borre la base de datos biblioteca en caso de que esta exista, esto lo ponemos, porque en caso de que la base de datos exista, MySQL daría error diciendo que esa base de datos ya existe, y como queremos empezar desde cero, esto es lo mejor.
En la segunda línea, lo que estamos haciendo es crear la base de datos
En la tercera línea, “USE biblioteca;” tan solo estamos diciendo a MySQL con que base de datos deseamos trabajar.
En la cuarta línea, veremos que es semejante a la primera, lo que estamos diciendo a MySQL es que borre la tabal libro en caso de que exista.
Por fin llegamos a la parte mas difícil, la línea 5, a partir de esta línea le estamos dando instrucciones a MySQL para que cree una tabla dentro de la base de datos biblioteca, llamada libro, además de la cantidad y el tipo de campos que contendrá, en este caso tan solo son 2 de tipo texto.
Ahora, por ejemplo, podemos poner este script en la ventana de consultas SQL de nuestro PHPMyAdmin, o el programa para gestionar MySQL que tengamos, para que este funcione.
Insertar Datos
Ahora que ya tenemos la estructura de nuestra base de datos creada, el siguiente paso para poder utilizarla, y crear consultas en ella, es que en la base de datos contenga datos, y eso es precisamente lo que vamos a hacer en este tutorial de MySQL.
Inserción de datos en una sentencia SQL
Para insertar los datos con una sentencia SQL, se utilizan unas sentencias muy simples que indican que datos, y en que tabla de MySQL se van a insertar esos datos.
Siguiendo los pasos del tutorial MySQL anterior, tenemos creada una base de datos llamada biblioteca, con una única tabla llamada libro y dos campos o columnas dentro de ella: titulo y escritor. Ahora podemos decir a MySQL que inserte una nueva fila con estas instucciones:
Ejemplo:
USE biblioteca;
INSERT INTO libro (titulo, escritor)
VALUES (
'Novelas Ejemplares','Miguel de Cervantes'
);
Explicación:
Con la primera línea decimos a MySQL que queremos trabajar con la base de datos biblioteca. A continuación le estamos diciendo a MySQL algo así como “inserta en la tabla libro, en el campo titulo, ‘Novelas Ejemplares’, y en el campo escritor ‘Miguel de Cervantes’.
Es importante aclarar que no siempre es necesario usar la sentencia USE de la primera línea del script, solo es necesario para decir a MySQL con que base de datos deseamos trabajar, pero si ya estamos trabajando con ella no nos haría falta.
Ahora vamos a poner un ejemplo insertando mas de una fila de datos:
INSERT INTO libro (titulo, escritor)
VALUES (
'El Otro', 'Unamuno'
);
INSERT INTO libro (titulo, escritor)
VALUES (
'La Agonía del Cristianismo', 'Unamuno'
);
INSERT INTO libro (titulo, escritor)
VALUES (
'El Quijote', 'Miguel de Cervantes'
);
INSERT INTO libro (titulo, escritor)
VALUES (
'Las furias y las penas', 'Neruda'
);
INSERT INTO libro (titulo, escritor)
VALUES (
'Canto General', 'Neruda'
);
Ahora ya tenemos nuestra base de datos completa, con algunos datos, en los siguientes tutoriales aprenderemos como crear consultas
Consulta de datos
Si has seguido los tutoriales anteriores, ahora tendrás la estructura de la base de datos biblioteca echa, precisamente con esa base de datos vamos a trabajar ahora, pero no os preocupéis aquí os dejo la base de datos para descargar para los mas vagos.
La base de datos contiene 6 registros, 6 libros con sus respectivos autores que deberíamos de poder recuperar con una simple consulta SQL:
SELECT *
FROM libro;
En estas líneas acabamos de decir a MySQL que seleccione todos los registros que tenga en la tabla libro, estamos usando el símbolo * para indicar a MySQL que queremos todos los campos.
Esta consulta es la mas simple que podemos hacer, pero vamos a ponerlo mas difícil, suponga que en vez de tener 6 libros en su biblioteca, tenga una biblioteca enorme, y de ella, tan solo quiere ver los libros que haya escrito el autor Neruda, pues para ello tan solo hemos de añadir una simple línea en nuestra consulta, concretamente la sentencia WHERE, veamos el ejemplo
SELECT *
FROM libro
WHERE escritor = 'neruda'
Pero ahora supongamos que no queremos que muestre todos los campos, queremos que muestre tan solo los titulos y ordenados alfabéticamente. La consulta sería así:
SELECT titulo
FROM libro
WHERE escritor = 'neruda'
ORDER BY titulo;
Aunque con nuestra base de datos tan solo sigamos viendo 2 resultados, ahora solo veremos la columna titulo y estará ordenada alfabéticamente por el titulo.
Actualizacion de datos
Muchas veces necesitaremos modificar los datos que tenemos almacenados en nuestras bases de datos, bien sea por que nos hemos equivocado al escribirlo o por una simple actualización.
Para realizar la modificación de los registros de una tabla, hemos de especificar en que tabla y en que columna (o campo) queremos hacer esa modificación. En este caso seguiremos trabajando con nuestra base de datos biblioteca, si no has seguido los tutoriales anteriores puedes descargarla aquí para hacer tus pruebas.
Ejemplo:
Como ejemplo, vamos a cambiar el titulo “canto general” de Neruda por “Residencia en la tierra” que es del mismo escritor.
Para ello tendríamos que hacer este script:
UPDATE libro
SET titulo='Residencia en la tierra'
WHERE titulo='Canto general';
Ahora si realizamos una consulta podremos ver que los datos se an cambiado correctamente.
Borrar datos
Seguimos trabajando con la base de datos que hemos creado en tutoriales anteriores, si no la tenéis y queréis probar las consultas la podéis descargar en el tutorial anterior. Ahora Imaginemos que ihemos perdido uno de los libros de nuestra biblioteca, en ese caso tendríamos que borrar el registro de ese libro en nuestra base de datos, puesto que ya no lo tenemos.
Puesto que solo queremos borrar un libro, y no todos, para eliminarlo de registros de una tabla en MySQL, tan solo debemos decirle que se borren los registros que cumplan los criterios que queramos. Por ejemplo, si queremos borrar de nuestra biblioteca el libro “Residencia en la tierra”, del escritor Neruda, tendríamos que hacer este script
DELETE
FROM libro
WHERE titulo='Residencia en la tierra';
Debemos tener mucho cuidado al poner los criterios, porque, en este caso no pasa, pero imagínate que existieran 2 libros distintos, de dos escritores distintos pero con el mismo titulo “Residencia en la tierra”, con ese script que acabamos de hacer se borrarían los dos libros.
¿Cómo borrar entonces el libro que queremos?, la solución es muy simple, diciendo a MySQL que borre el que pertenece al escritor Neruda, aquí tenemos el ejemplo:
DELETE
FROM libro
WHERE titulo='Residencia en la tierra' and escritor='Neruda';
Crear y trabajar con tablas
En este tutorial de MySQL vamos a explicar como realizar las operaciones de crear, modificar y borrar tablas.
Como ya vamos empezando a meternos en materia, vamos a usar y dejar claro la sintaxis que el mismo MySQL utiliza en su documentación:
A partir de ahora, los textos que vengan entre corchete [ ], serán opcionales, con esto quiero decir que no es obligatorio utilizarlos en las consultas que hagamos.
Las sentencias que vengan entre llaves { } separadas por un | , serán alternativas, es decir, debemos utilizar una u otra.
Como crear una tabla
La sintaxis para crear una tabla es la siguiente:
CREATE TABLE [IF NOT EXISTS] nombre_del_la_tabla
[(definición)]

El IF NOT EXISTS evitará que MySQL de error en el caso de que ya existiera dicha tabla.
En “definición” nos estamos refiriendo a:
Especificar el tipo de tabla
Si va a ser [NULL | NOT NULL] (esto quiere decir si el campo de registros puede estar vacío o no)
Y al valor que va a contener por defecto [DEFAULT valor_predeterminado]
Por cada columna que escribamos, debemos de hacer una definición.
El tipo de tabla que podemos utilizar se han de expresar así:
TYPE = {InnoBD | HEALP | MERGE | MYSAM}.
Ahora vamos a hacer un ejemplo creando una tabla con todo lo visto hasta ahora.
Ejemplo:
CREATE TABLE `coche` (
`id_coche` int(11) NOT NULL,
`marca` VARCHAR(11) NULL,
`puertas` int(11) DEFAULT '5' NULL)
Ahora ya tenemos nuestra tabla creada con las distintas definiciones que acabamos de ver.
Modificar tablas y columnas
En MySQL podemos modificar cualquier característica que queramos de una tabla una vez que ya haya sido creada, incluso si esta ya contiene datos.
Esta es la sintaxis a utilizar:
ALTER TABLE
Tenemos estas modificaciones disponibles:
ALTER para cambiar sus valores
ADD con ella podemos añadir nuevas columnas a nuestra tabla modificarlas con
CHANGE Para modificar las columnas
DROP para borrar
Ahora vamos a ver un ejemplo con u script que cambiara la tabla que hemos creado en el tutorial anterior, en el agregaremos una nueva columna en la que podremos incluir el modelo del coche y cambiaremos el valor por defecto de la columna puertas de 5 a 3.
ALTER TABLE `coche`
CHANGE `puertas` `puertas` INTEGER(22) NOT NULL DEFAULT '3',
ADD `modelo` VARCHAR(22) NOT NULL
RENAME TABLE
También es posible renombrar cada tabla, esta es la sintaxis:
RENAME TABLE tabla_actual TO nombre_nuevo
Vamos a ver un ejemplo, cambiaremos el nombre de la tabla coche por vehiculo.
RENAME TABLE coche TO vehiculo;
Borrar tablas en MySQL
n este tutorial de MySQL aprenderemos como podemos borrar tablas en MySQL. La sintaxis para borrar tablas en MySQL es muy simple, podéis verla aquí:
DROP TABLE [IF EXISTS ] tabla [tabla1, tabla2,..]
Como podéis observer se puede borrar más de una tabla de una sola vez, tan solo hemos de separar el nombre de cada tabla por comas.
Si queremos, también podemos usar el IF EXISTS en la consulta para borrar tablas, que como ya explique en tutoriales anteriores sirve para evitar que MySQL de error diciendo que esa tabla no existe en nuestra base de datos.
Ejemplo:
Por ejemplo para borrar la tabla vehiculo que hemos creado en el tutorial anterior deberíamos de hacer este script:
DROP TABLE IF EXISTS vehiculo;
Bueno es el Fin espero y les sirva esta INFO ya que con ella aprobe mi examen