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 '
; esto puede diferir de lo que está acostumbrado.)YYYY-MM-DD
'
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
.