matlab将csv数据导入MySQL

function DataToMySQL(dirpath1,dirpath2,column,tablename)
%函数功能:将数据导入Sql
%dirpath1->提取总文件数量的路径 如: 'E:\tableData\*.csv'
%dirpath2->合并文件名称的路径 如: 'E:\tableData\'
%column->对应数据列  如:closeprice在第4列,则输入"4"
%tablename->对应的数据库table  如:test.user
q=database('test','root','hao19890820','com.mysql.jdbc.Driver','jdbc:mysql://127.0.0.1:3306/test');
file=dir(dirpath1);
for n=1:length(file)
    y=importdata([dirpath2,file(n).name]);
    y.textdata(2:end,2:end)=num2cell(y.data);
    sql1=['alter table ', tablename,' add gp', file(n).name(1:6),' varchar(8)'];
    exec(q,sql1);
    for i=2:length(y.textdata)
        date1=char(y.textdata(i,1));
        price=cell2mat(y.textdata(i,column));
        sql2=['insert into ',tablename,'(date,gp',file(n).name(1:6),')  VALUES (''',date1,''',',num2str(price),') ON DUPLICATE KEY UPDATE gp',file(n).name(1:6), '=',num2str(price)];
        exec(q,sql2);
    end
    clear y;
    n   %用于显示正在运算的数据量
end

你可能感兴趣的:(matlab将csv数据导入MySQL)