English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Importação de dados MySQL

Nesta seção, apresentamos várias instruções de importação de dados simples do MySQL.

1Usando o comando mysql para importar

O formato da sintaxe de importação de dados usando o comando mysql é:

mysql -uNome de usuário    -pSenha < < Dados do banco de dados a serem importados (w3codebox.sql)

Exemplo:

# mysql -uroot -p123456 <3codebox.sql

Os seguintes comandos importarão o banco de dados inteiro de backup3codebox.sql importar.

2Usando o comando source

Para importar o comando de banco de dados usando o comando source, é necessário fazer login no terminal do banco de dados primeiro:

mysql> create database abc; # Criar banco de dados
mysql> use abc; # Usar o banco de dados criado 
mysql> set names utf8; # Configurar codificação
mysql> source /home/abc/abc.sql # Importar banco de dados de backup

3Usando LOAD DATA para importar dados

O MySQL fornece a instrução LOAD DATA INFILE para inserir dados. No exemplo a seguir, o arquivo dump.txt será lido do diretório atual e os dados do arquivo serão inseridos na tabela mytbl do banco de dados atual.

mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl;

 Se a palavra-chave LOCAL for especificada, isso indica que o arquivo será lido do host do cliente conforme o caminho. Se não for especificado, o arquivo será lido do servidor conforme o caminho.

Você pode especificar explicitamente o delimitador de valores de coluna e o marcador de fim de linha na instrução LOAD DATA, mas o marcador padrão é o caractere de posição e o caractere de nova linha.

A sintaxe das cláusulas FIELDS e LINES das duas instruções é a mesma. Ambas as cláusulas são opcionais, mas se ambas forem especificadas, a cláusula FIELDS deve aparecer antes da cláusula LINES.

If the user specifies a FIELDS clause, its clause (TERMINATED BY, [OPTIONALLY] ENCLOSED BY and ESCAPED BY) is optional, but the user must specify at least one of them.

mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl
  -> FIELDS TERMINATED BY ':'
  -> LINES TERMINATED BY '\r\n';

LOAD DATA inserts data by default in the order of the columns in the data file. If the columns in the data file are not consistent with the columns in the insertion table, you need to specify the order of the columns.

For example, if the column order in the data file is a, b, c, but the column order for insertion into the table is b, c, a, then the data import syntax is as follows:

mysql> LOAD DATA LOCAL INFILE 'dump.txt' 
    -> INTO TABLE mytbl (b, c, a);

4Import data using mysqlimport

The mysqlimport client provides a command-line interface for the LOAD DATA INFILEQL statement. Most of the options of mysqlimport correspond directly to the LOAD DATA INFILE clause.

To import data from the file dump.txt into the mytbl data table, you can use the following command:

$ mysqlimport -u root -p --local mytbl dump.txt
password *****

The mysqlimport command can specify options to set the specified format, the command statement format is as follows:

$ mysqlimport -u root -p --local --fields-terminated-by=":" \
   --lines-terminated-by="\r\n"  mytbl dump.txt
password *****

mysqlimport statement uses --Use the columns option to set the order of columns:

$ mysqlimport -u root -p --local --columns=b,c,a \
    mytbl dump.txt
password *****

Introduction to common options of mysqlimport

OptionFunction
-d or --deleteDelete all information in the data table before importing new data into the data table
-f or --forcemysqlimport will continue to insert data forcibly regardless of whether errors are encountered
-i or --ignoremysqlimport skips or ignores those with the same unique              Lines of keywords, data from the imported file will be ignored.
-l ou -lock-tabelasO banco de dados é trancado antes de inserir dados, o que impede                Seus consultas e atualizações de usuários são afetadas quando você atualiza o banco de dados.
-r ou -replaceEsta opção tem o efeito oposto ao da opção -i; esta opção substitui                           Os registros com a mesma chave única idêntica na tabela.
--fields-enclosed- by= charEspecifique o que delimita os registros de dados em arquivo de texto, muitos casos                 Os dados estão entre aspas duplas. Pelo padrão, os dados não estão entre caracteres.
--fields-terminated- by=charEspecifique o delimitador entre os valores dos dados, em arquivos delimitados por ponto final,                 O delimitador é o ponto. Você pode usar essa opção para especificar o delimitador entre dados.                 O delimitador padrão é o tabulação (Tab).
--lines-terminated- by=strEsta opção especifica a string de delimitação entre linhas de arquivo de texto                ou caractere. Pelo padrão, o mysqlimport usa newline como delimitador de linha.                Você pode usar uma string para substituir um caractere único:                 Uma nova linha ou um Enter.

Opções comuns do comando mysqlimport ainda incluem -v Exibir versão (versão), -p Sugerir entrada de senha (senha) etc.