Usando uma expressão regular (perl?) em um banco de dados MySQL

1

Eu tenho um banco de dados MySQL e preciso fazer alguma manipulação de texto em um dos campos. Este é um processo único, não contínuo.

As funções de manipulação de texto MySQL embutidas serão um pesadelo para fazer o que eu preciso fazer. O Perl pode fazer isso em poucas linhas, e eu até tenho um script em perl com os comandos exatos de manipulação de texto necessários.

Despejando a tabela para um arquivo de texto, Perling-lo e, em seguida, restaurá-lo funcionaria, mas é um pouco incômodo; existe uma maneira mais fácil ou melhor de usar o perl para manipular os dados dentro do banco de dados mysql para percorrer cada linha da tabela, editar os dados em um campo e mover na linha seguinte?

    
por DrStalker 04.11.2009 / 09:53

2 respostas

2

O melhor método seria modificar os dados "no local" usando o DBI do MySQL do Perl.

SELECT dos dados, execute o regex e envie-o de volta com um UPDATE .

A minha preferência pessoal seria usar o Python, com MySQLdb e re módulos.

    
por 04.11.2009 / 10:06
1

Você pode usar o módulo DBI com o DBD :: mysql driver para acessar o banco de dados para ler e escrever, e apenas percorrer as linhas que você está interessado. A documentação deve ser suficiente para dar-lhe um bom começo, mas pode ser uma boa ideia fazer o backup antes de você quebrar as coisas.

    
por 04.11.2009 / 10:06