我有一个mySQL数据库设置和一个“联系人”表,其中有多个字段用于不同的联系信息。这让我感到困惑,但由于某些原因,我想客户在添加到数据库时并不总是将其电子邮件信息放在“电子邮件”字段中。有没有一种快速简便的方法来在每个记录的每个字段中搜索“ @”符号?如果没有,有人可以帮我整理一下perl行或脚本,以在txt文件中仅保留带有'@'的字符串吗?我打算研究perl进行数据批量处理,但是我现在没有时间。谢谢!
-奥斯丁
最佳答案
当某列包含@
时,这将遍历所有行并将结果保存在文件中
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
use DBI;
my $dbh = DBI->connect('dbi:mysql:db_name','user','pass')
or die "Connection Error: $DBI::errstr\n";
my $sql = "select * from table";
my $sth = $dbh->prepare($sql);
$sth->execute or die "SQL Error: $DBI::errstr\n";
open my $fh, ">", "output.txt" or die $!;
while (my $r = $sth->fetchrow_hashref) {
$r->{$_} =~ /@/ and print $fh "Found '@' in column $_ of row:", Dumper $r
for keys %$r;
}
关于mysql - MySQL-在每个字段中搜索特定字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19038658/