Última actualización el 26 de febrero de 2020 08:08:23 (UTC/GMT +8 horas)
Sentencia LOAD
La sentencia LOAD de MySQL rellena una tabla.
Supongamos que el usuario tiene un archivo .txt de nombre ‘pub.txt’ en una carpeta propia, que contiene 1 registro por línea y está separado por tabulaciones y dispuesto en orden como las columnas que aparecen en la tabla. Puede utilizar la sentencia LOAD para rellenar la tabla. Para los valores que faltan, el usuario puede utilizar valores NULL y eso debe ser representado por ‘\NN en el archivo de texto.
Sintaxis:
LOAD DATA LOCAL INFILE '' INTO TABLE ;
Argumentos
Nombre | Descripción |
---|---|
ruta | La dirección del fichero. |
nombre_del_archivo | El nombre del archivo .txt. |
nombre_tabla | La tabla donde se cargarán los datos. |
Ejemplo:
En el siguiente código se cargará el contenido del archivo de texto pub.txt en la tabla de editores.
Hay que mencionar la ruta del archivo.
El archivo de texto contiene la fila como.
P002<tab>BPP Publication<tab>Mumbai<tab>India<tab>New Delhi<tab><tab>1985-10-01
Código:
LOAD DATA LOCAL INFILE 'pub.txt' INTO TABLE publisher;
Tabla de ejemplo: editor
Sentencia LOAD de MySQL con terminador de línea
Las sentencias LOAD de MySQL con ‘\r\n’ como terminador de línea también pueden utilizarse para poblar una tabla.
Ejemplo:
El siguiente código cargará los registros del archivo pub.txt en la tabla publisher. Se puede utilizar la figura como terminador de línea.
El archivo de texto contiene la fila como.
P002<tab>BPP Publication<tab>Mumbai<tab>India<tab>New Delhi<tab><tab>1985-10-01\r\n
Tabla de muestra: publisher
Código:
LOAD DATA LOCAL INFILE 'path/pub.txt' INTO TABLE publisherLINES TERMINATED BY \r\n ;
MySQL cargando datos en una tabla con sentencia insert
Para insertar nuevos registros en una tabla se puede utilizar la sentencia INSERT. Los valores serán suministrados por el usuario en el mismo orden en que las columnas están listadas en la tabla. Es necesario especificar los valores de las cadenas y de las fechas dentro de una cadena entrecomillada.
Sintaxis
INSERT INTO <table_name> values(value1,value2,....);
Argumentos
Nombre | Descripción |
---|---|
nombre_tabla | Nombre de la tabla. |
valor1,valor2,… | Valores que se insertarán en la secuencia de columnas. |
Ejemplo:
La siguiente sentencia inserta una fila en la tabla ‘publisher’ que contiene los valores según la secuencia de las columnas.
Tabla de ejemplo: publisher
Código:
INSERT INTO publisher values(‘P010’,’ Novel Publisher Ltd.’,’ mumbai’,’ India’,’ hydrabad’);
MySQL importar datos desde csv usando LOAD DATA INFILE
Se pueden importar datos desde un fichero CSV a una tabla MySQL. Aquí están la estructura de la tabla MySQL y el CSV
Estructura de la tabla MySQL:
Muestra de salida:
MySQL> describe std;+--------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+--------+-------------+------+-----+---------+-------+| rollno | int(11) | NO | PRI | NULL | || class | varchar(15) | YES | | NULL | || name | varchar(45) | YES | | NULL | |+--------+-------------+------+-----+---------+-------+3 rows in set (0.01 sec)
Detalles del archivo CSV (book1.csv) :
Nombre,Clase,ROLLNO
David,V,9
Subir,Vii,12
Taniya,VI,10
Anish,V,14
Salida de ejemplo:
MySQL> LOAD DATA LOCAL INFILE 'book1.csv' INTO table std FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES (name, class, rollno);Query OK, 4 rows affected (0.04 sec)Records: 4 Deleted: 0 Skipped: 0 Warnings: 0MySQL> SELECT * FROM std;+--------+-------+--------+| rollno | class | name |+--------+-------+--------+| 9 | V | David || 10 | VI | Taniya || 12 | Vii | Subir || 14 | V | Anish |+--------+-------+--------+4 rows in set (0.00 sec)
Anterior: BASE DE DATOS MySQL
Siguiente: MySQL advance creando tabla MySQL Constraints