Creando y usando una base de datos
Ahora que conocemos como escribir
y ejecutar sentencias, es tiempo de accesar 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 muy 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
|
La base de datos "zoológico"
será muy simple (deliveradamente), 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:
mysql> SHOW DATABASES;
+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
2 rows in set (0.00 sec)
mysql>Es probable que la lista de bases
de datos que veamos sea diferente en nuestro caso, pero
seguramente las bases de datos "mysql" y "test"
estarán 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. La base de datos "test" es
creada durante la instalación de MySQL con el propósito
de 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 "test" existe,
hay que intentar accesar a ella:
mysql> USE test
Database changed
mysql>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
"test" (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> USE zoologico
ERROR 1049: Unknown database 'zoologico'
mysql>El mensaje anterior indica que la base de datos
no ha sido creada, por lo tanto necesitamos crearla.
mysql> CREATE DATABASE zoologico;
Query OK, 1 row affected (0.00 sec)
mysql> USE zoologico
Database changed
mysql>Bajo el sistema operativo Unix, 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 autómatica; debemos hacerlo
de manera explícita, por ello usamos el comando
USE 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 -h casita -u blueman -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.
|