Tabla de Contenidos
Dentro de MySQL - Creando y usando Bases de Datos
Introducción
Ahora que conocemos como escribir y ejecutar sentencias, es tiempo de acceder a una base de datos.
Supongamos que tenemos diversas mascotas en casa (nuestro pequeño zoológico) y deseamos tener registros de los datos acerca de ellas. Podemos hacer esto al crear tablas que guarden esta información, para que posteriormente la consulta de estos datos sea bastante fácil y de manera más práctica.
Esta sección muestra como crear una base de datos, crear una tabla, incorporar datos en una tabla, y recuperar datos de las tablas de diversas maneras.
Creación y uso de la Base
La base de datos “zoológico” será muy simple (deliberadamente), pero no es difícil pensar de situaciones del mundo real en la cual una base de datos similar puede ser usada.
Primeramente usaremos la sentencia SHOW para ver cuáles son las bases de datos existentes en el servidor al que estamos conectados:
Es probable que la lista de bases de datos que veamos sea diferente en nuestro caso, pero seguramente la base de datos mysql estará entre ellas.
En particular, la base de datos mysql es requerida, ya que ésta tiene la información de los privilegios de los usuarios de MySQL.
Hemos creado la base de datos aseguradoras para servir como área de trabajo para los usuarios que inician en el aprendizaje de MySQL.
Se debe anotar también que es posible que no veamos todas las bases de datos si no tenemos el privilegio SHOW DATABASES.
Se recomienda revisar la sección del manual de MySQL dedicada a los comandos GRANT y REVOKE.
Si la base de datos aseguradoras existe, hay que intentar acceder a ella:
Observar que USE, al igual que QUIT, no requieren el uso del punto y coma, aunque si se usa éste, no hay ningún problema.
El comando USE es especial también de otra manera: éste debe ser usado en una sóla línea.
Podríamos usar la base de datos aseguradoras (si tenemos acceso a ella) para los ejemplos que vienen a continuación, pero cualquier cosa que hagamos puede ser eliminada por cualquier otro usuario que tenga acceso a esta base de datos.
Por esta razón, es recomendable que preguntemos al administrador MySQL acerca de la base de datos que podemos usar.
Supongamos que deseamos tener una base de datos llamada “zoologico” (nótese que no se está acentuando la palabra) a la cual sólo nosotros tengamos acceso, para ello el administrador necesita ejecutar un comando como el siguiente:
mysql> GRANT ALL on zoologico.* TO MiNombreUsuario@MiComputadora -> IDENTIFIED BY 'MiContraseña';
en donde MiNombreUsuario es el nombre de usuario asignado dentro del contexto de MySQL, MiComputadora es el nombre o la dirección IP de la computadora desde la que nos conectamos al servidor MySQL, y MiContraseña es la contraseña que se nos ha asignado, igualmente, dentro del ambiente de MySQL exclusivamente.
Ambos, nombre de usuario y contraseña no tienen nada que ver con el nombre de usuario y contraseña manejados por el sistema operativo (si es el caso).
Si el administrador creó la base de datos al momento de asignar los permisos, podemos hacer uso de ella. De otro modo, nosotros debemos crearla:
mysql> CREATE DATABASE zoologico; Query OK, 1 row affected (0.00 sec) mysql> USE zoologico Database changed mysql>
Bajo el sistema operativo Unix o Linux, los nombres de las bases de datos son sensibles al uso de mayúsculas y minúsculas (no como las palabras clave de SQL), por lo tanto debemos de tener cuidado de escribir correctamente el nombre de la base de datos. Esto es cierto también para los nombres de las tablas.
Al crear una base de datos no se selecciona ésta de manera automática; debemos hacerlo de manera explícita, por ello usamos el comando USE (como lo vimos en el ejemplo anterior).
La base de datos se crea sólo una vez, pero nosotros debemos seleccionarla cada vez que iniciamos una sesión con MySQL.
Por ello es recomendable que se indique la base de datos sobre la que vamos a trabajar al momento de invocar al monitor de MySQL. Por ejemplo:
shell>mysql -u root -p zoologico Enter password: *********** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 17 to server version: 3.23.38-nt Type 'help;' or '\h' for help. Type '\c' to clear the buffer mysql>
Observar que zoologico no es la contraseña que se está proporcionando desde la línea de comandos, sino el nombre de la base de datos a la que deseamos acceder. Si deseamos proporcionar la contraseña en la línea de comandos después de la opción “-p”, debemos de hacerlo sin dejar espacios (por ejemplo, -phola123, no como -p hola123).
Sin embargo, escribir nuestra contraseña desde la línea de comandos no es recomendado, ya que es bastante inseguro.