MySQL :: MySQL 5.7 Manual de Referencia :: 3.3.3 la Carga de Datos en una Tabla

3.3.3 la Carga de Datos en una Tabla

Después de crear la tabla, usted necesita para rellenarlo. El LOAD DATA y INSERT declaraciones son útiles para esto.

Suponga que los registros de su mascota se pueden describir como se muestra aquí. (Observe que MySQL espera fechas en formato 'YYYY-MM-DD'; esto puede diferir de lo que está acostumbrado.)

name owner species sex birth death
Fluffy Harold cat f 1993-02-04
Claws Gwen cat m 1994-03-17
Buffy Harold dog f 1989-05-13
Fang Benny dog m 1990-08-27
Bowser Diane perro m 1979-08-31 1995-07-29
Animados Gwen pájaro c 1998-09-11
Whistler Gwen pájaro 1997-12-09
Slim Benny serpiente m 1996-04-29

Debido a que usted está comenzando con una tabla vacía, una manera fácil de rellenar es crear un archivo de texto que contiene una fila para cada uno de sus animales, luego cargue el contenido del archivo en la tabla con una sola instrucción.

Puede crear un archivo de texto pet.txt que contenga un registro por línea, con valores separados por pestañas, y dados en el orden en que se listaron las columnas en la instrucción CREATE TABLE. Para valores faltantes (como sexos desconocidos o fechas de muerte para animales que aún viven), puede usar valores NULL. Para representarlos en su archivo de texto, use \N(barra invertida, N mayúscula). Por ejemplo, el registro de Whistler the bird se vería así (donde el espacio en blanco entre los valores es un solo carácter de tabulación):

Whistler Gwen bird \N 1997-12-09 \N

Para cargar el archivo de texto pet.txt en la tabla pet, use esta instrucción:

mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet;

Si creó el archivo en Windows con un editor que usa \r\n como terminador de línea, debe usar esta instrucción en su lugar:

mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet LINES TERMINATED BY '\r\n';

(En una máquina Apple que ejecuta macOS, es probable que desee usar LINES TERMINATED BY '\r'.)

Puede especificar explícitamente el separador de valores de columna y el marcador de fin de línea en la instrucción LOAD DATA si lo desea, pero los valores predeterminados son tabulación y salto de línea. Estos son suficientes para que la instrucción lea correctamente el archivo pet.txt.

Si la instrucción falla, es probable que su instalación de MySQL no tenga la capacidad de archivo local habilitada de forma predeterminada. Consulte la Sección 6.1.6, «Consideraciones de seguridad para CARGAR DATOS LOCALES», para obtener información sobre cómo cambiar esto.

Cuando desee agregar nuevos registros uno a la vez, la instrucción INSERT es útil. En su forma más simple, proporciona valores para cada columna, en el orden en que las columnas se enumeraron en la instrucción CREATE TABLE. Supongamos que Diane consigue un nuevo hámster llamado «Puffball».»Puede agregar un nuevo registro usando una instrucción INSERT como esta:

mysql> INSERT INTO pet VALUES ('Puffball','Diane','hamster','f','1999-03-30',NULL);

Los valores de cadena y fecha se especifican como cadenas entrecomilladas aquí. Además, con INSERT, puede insertar NULL directamente para representar un valor faltante. No utilice \N como lo hace con LOAD DATA.

En este ejemplo, debería poder ver que habría mucho más que escribir para cargar sus registros inicialmente utilizando varias instrucciones INSERT en lugar de una sola instrucción LOAD DATA.