Cargando datos en una tabla
Después de haber creado la
tabla, ahora podemos incorporar algunos datos en
ella, para lo cual haremos uso de las sentencias
INSERT y LOAD DATA.
Supongamos que los registros de nuestras
mascotas pueden ser descritos por los datos mostrados
en la siguiente tabla.
|
Nombre Propietario Especie Sexo Nacimiento
Fallecimento
Fluffy Arnoldo Gato f 1999-02-04
Mau Juan Gato m 1998-03-17
Buffy Arnoldo Perro f 1999-05-13
FanFan Benito Perro m 2000-08-27
Kaiser Diana Perro m 1998-08-31 1997-07-29
Chispa Omar Ave f 1998-09-11
Wicho Tomás Ave 2000-02-09
Skim Benito Serpiente m 2001-04-29
Debemos observar que MySQL espera recibir
fechas en el formato YYYY-MM-DD, que puede ser diferente
a lo que nosotros estamos acostumbrados.
Ya que estamos iniciando con una tabla
vacía, la manera más fácil de poblarla
es crear un archivo de texto que contenga un registro
por línea para cada uno de nuestros animalitos
para que posteriormente carguemos el contenido del archivo
en la tabla únicamente con una sentencia.
Por tanto, debemos de crear un archivo
de texto "mascotas.txt" que contenga un registro
por línea con valores separados por tabuladores,
cuidando que el orden de las columnas sea el mismo que
utilizamos en la sentencia CREATE TABLE. Para valores
que no conozcamos podemos usar valores nulos (NULL). Para
representar estos valores en nuestro archivo debemos usar
\N.
Para cargar el contenido del archivo en
la tabla mascotas, usaremos el siguiente comando:
mysql> LOAD DATA LOCAL INFILE "mascotas.txt"
INTO TABLE mascotas;La sentencia LOAD DATA nos permite
especificar cuál es el separador de columnas, y
el separador de registros, por default el tabulador es
el separador de columnas (campos), y el salto de línea
es el separador de registros, que en este caso son suficientes
para que la sentencia LOAD DATA lea correctamente el archivo
"mascotas.txt".
Si lo que deseamos es añadir un
registro a la vez, entonces debemos hacer uso de la sentencia
INSERT. En la manera más simple, debemos proporcionar
un valor para cada columna en el orden en el cual fueron
listados en la sentencia CREATE TABLE. Supongamos que
nuestra hermana Diana compra un nuevo hamster nombrado
Pelusa. Podemos usar la sentencia INSERT para agregar
su registro en nuestra base de datos.
mysql> INSERT INTO mascotas
-> VALUES('Pelusa','Diana','Hamster','f','2000-03-30',NULL);Notar
que los valores de cadenas y fechas deben estar encerrados
entre comillas. También, con la sentencia INSERT
podemos insertar el valor NULL directamente para representar
un valor nulo, un valor que no conocemos. En este caso
no se usa \N como en el caso de la sentencia LOAD DATA.
De este ejemplo, debemos ser capaces de
ver que es un poco más la tarea que se tiene que
realizar si inicialmente cargamos los registros con varias
sentencias INSERT en lugar de una única sentencia
LOAD DATA.
|