存档

2013年4月 的存档

perl DBI获取mysql中sql语句返回的字段名

2013年4月9日 5 条评论

最近用perl的dbi来处理mysql,有时候需要返回结果的字段名,但是网上查了没有结果

后来在国外的网站上查到了这个代码:

my $columns = get_columns($dbh, $table);

print @$columns;

sub get_columns {
my $dbh = shift;
my $table = shift;

#SQL statement always gauranteed to return 0 rows,
#but ALWAYS returns the column names. Basicaly a
#portable “DESC $table”
my $statement = qq{
SELECT *
FROM $table
WHERE 1 = 0
};

my $sth = $dbh->prepare($statement);
$sth->execute;

#Get the column names for the $table
return $sth->FETCH(‘NAME_lc’);
}

查了下cpan上的DBI的说明,发现了:

NAME_lc

Type: array-ref, read-only

Like /NAME but always returns lowercase names.

说明了NAME_lc是自带的一个属性。并且是只读的数组引用

DBI相关的信息太多,不一一挖掘…

参考

http://www.perlmonks.org/?node_id=52123

分类: mysql, perl, 技术 标签: ,

mysql 中load按照字段来load(转)

2013年4月7日 没有评论

最近要预先load后期需要修改格式的数据,所以遇到load的数据和数据库中的字段对不上的问题,网上查了:

数据库表字段定义:
CREATE TABLE `TABLE_NAME` (
`f1` varchar(25) default NULL,
`f2` varchar(20) default NULL,
`f3` double(15,0) default -1,
`f4` varchar(20) default NULL,
`f5` double(15,3) default NULL
);

源文件内容:【文件名:example_data1.txt】
cat;red;2.0;tree

load data infile ‘D:\\my_program\\Tek_sig\\example_data1.txt’
into table TABLE_NAME
FIELDS TERMINATED BY ‘;’
LINES TERMINATED BY ‘\n’
(f1,f2,f3,f4)

可以参照:

http://bbs.csdn.net/topics/360090118

分类: mysql 标签: