7 de febrero de 2012

MySQL Cargar datos en una tabla






Vamos a ver los modos que tenemos de almacenar información en una tabla creada en MySQL.


Para ello vamos a partir de una tabla que va a almacenar países junto con al Continente al que pertenece y la Capital de dicho país.


Para crear la tabla en MySQL usamos en la sentencia CREATE TABLE:


mysql> CREATE TABLE Paises (Pais VARCHAR(50),
                 Continente VARCHAR (50),
                 Capital VARCHAR (50));


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.
Los datos que queremos almacenar en nuestra tabla Paises puede resumirse en el contenido de esta tabla:



País                  Continente             Capital
España                Europa                 Madrid
Francia               Europa                 París
Colombia              América                Bogotá  
China                 Asia                   Pekin
Australia             Oceanía                Camberra
Marruecos             África                 Rabat




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 los países que queramos que se almacenen en la tabla Paises para que posteriormente carguemos el contenido del archivo en la tabla únicamente con una sentencia.


Por tanto, debemos de crear un archivo de texto "paises.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.


El archivo paises.txt contendrá:


España    Europa    Madrid
Francia   Europa    París
Colombia  América   Bogotá
China     Asia      Pekín
Auatralia Oceanía   Camberra
Marruecos África    Rabat


Para cargar el contenido del archivo en la tabla Paises, usaremos el siguiente comando:


mysql> LOAD DATA INFILE "paises.txt" INTO Paises;


La sentencia LOAD DATA nos permite especificar cuál es el separador de columnas, y el separador de registros, por defecto 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 "paises.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. Por ejemplo, necesitamos añadir un nuevo registro a nuestra base de datos, necesitamos almacenar la información de Alemania. Podemos usar la sentencia INSERT para agregar su registro en nuestra base de datos.


mysql> INSERT INTO Paises VALUES ('Alemania','Europa','Berlín');



Con este ejemplo simple hemos visto como podemos agregar información a nuestra base de datos de dos maneras:


LOAD DATA: Nos permite agregar mucha información de golpe ideal para agregrar información a una tabla nueva desde un archivo externo.


INSERT: Nos permite añadir información fila por fila, ideal para ir actualizando una tabla existente con nuevo contenido.



No hay comentarios:

Publicar un comentario