+ Responder ao Tópico



  1. Saudações livres a todos :-D

    Estou com uma duvida por naum sacar nada de mysql.
    O problema eh que estava com uma base de dados ACCESS e exportei para arquivo de texto com delimitação por " e separação por espaço no seguinte fomato

    "CPF" "NOME" "ENDEREÇO" "BAIRRO" "CIDADE" "UF" "CPEP" "TELEFONE"

    Todos os meu dados estão formatados assim, no arquivo contem 344 registros e preciso fazer um INSERT da seguinte forma:

    INSERT INTO `pessoa_fisica` ( `id_pessoa_fisica` , `nome` , `login` , `senha` , `email` , `cpf` , `rg` , `rg_emissor` , `dt_nascimento` , `sexo` , `estado_civil` , `nacionalidade` , `res_rua` , `res_bairro` , `res_cidade` , `res_cep` , `res_estado` , `res_tempo` , `res_tipo` , `res_tel1` , `res_tel2` , `ocupacao` , `renda_mensal` , `renda_outras` , `end_correspondencia` , `terceiro` , `obs` , `ativo` , `permitir_login` )
    VALUES (
    NULL , 'NOME', '', '', 'suporte@xyz.com.br', 'CPF', '000000', 'ssppb', '0000-00-00', '', '', '', 'ENDEREÇO', 'BAIRRO', 'CIDADE', 'CEP', 'UF', '', '', 'TELEFONE', '', '', '', '', '', '', '', '', ''
    );


    Gostaria de alguma forma, axo eu que seja por manipulação de arquivos usando expresões regulares, sera que alguem poderia me ajudar.

  2. #2
    estevan
    Acredito e isso ira ajudar

    // abrir o arquivo txt
    $fp = fopen('meuarquivoondeesta.txt', 'r');
    while(!feof($fp))
    {
    $line = trim(fgets($fp));
    // aqui ira usar e funcao explode para os campos use | ou , na expostacao pq seus valore terao espaco pelo q vi pq tem endereco ...
    $line = explode('|', $line);
    // aqui vo ira inserir na tabela sera facil pois ja tem os valore definidos ...
    mysql_query("INSERT INTO tabela VALUES('".$line[0]."', '".$line[1]."', '".$line[2]."', '".$line[3]."', '".$line[4]."')");
    $count++;
    }
    if(!mysql_error($link))
    echo 'inserido ( '.$count.' ) registros.';
    mysql_close($link);

    claro q vc tera q modificar os campos no query mais e um exemplo q com certeza ajudara



  3. #3
    belvio
    Caro amigo faça o seguinte não use a delimitação utilizando " e use a separação utilizando o TAB, seu arquivo ficarar mais ou menos assim

    CP FNOME ENDEREÇO BAIRRO CIDADE UF CPEP TELEFONE

    nos campos que não tiver informação coloque um \N.

    e use o seguinte comando para carregar as informações na tabela

    LOAD DATA LOCAL INFILE "[nome do arquivo]" INTO TABLE [nome da tabela];

    Dica: a quantidade de colunas no arquivo deve ser identica a quantidade de campos dentro da tabela.

    exemplo de um arquivo, na separação foi utilizado TAB entre as colunas:

    Fluffy Harold cat f 1993-02-04 \n
    Claws Gwen cat m 1994-03-17 \n
    Buffy Harold dog f 1989-05-13 \n
    Fang Benny dog m 1990-08-27 \n
    Bowser Diane dog m 1979-08-31 1995-07-29
    Chirpy Gwen bird f 1998-09-11 \n
    Whistler Gwen bird \n 1997-12-09 \n
    Slim Benny snake m 1996-04-29 \n

    formato da tabela que este arquivo vai preencher

    Field Type Null Key
    nome varchar(20) YES
    owner varchar(20) YES
    species varchar(20) YES
    sex char(1) YES
    birth date YES
    death date YES

    comando que vai preencher esta tabela com o arquivo acima

    LOAD DATA LOCAL INFILE "pet.txt" INTO TABLE pet;


    espero ter ajudado.






Tópicos Similares

  1. converter base de dados de usuarios para mysql
    Por no fórum Servidores de Rede
    Respostas: 0
    Último Post: 25-02-2005, 10:54
  2. FireBird para Mysql
    Por Curioso_2 no fórum Servidores de Rede
    Respostas: 0
    Último Post: 23-02-2005, 13:00
  3. Editores de texto para Linux
    Por JoCkEr no fórum Servidores de Rede
    Respostas: 10
    Último Post: 19-12-2004, 22:53
  4. Compilar o postfix c/ suporte para MySql
    Por bauer no fórum Servidores de Rede
    Respostas: 2
    Último Post: 18-09-2004, 08:21
  5. Dump Oracle, como migra-lo para mysql
    Por no fórum Servidores de Rede
    Respostas: 4
    Último Post: 02-10-2003, 10:34

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L