PHP程序,将csv转成sql文件并导入数据库

本文介绍了如何使用PHP程序将CSV文件转换为SQL文件并导入数据库,详细阐述了原始处理流程的繁琐性,以及逐步优化的过程,包括读取CSV、写入SQL文件和通过Linux命令快速导入数据库的方法,最终实现高效的数据同步。
摘要由CSDN通过智能技术生成

PHP程序,将csv转成sql文件并导入数据库

代码的由来

最近接手一个老项目,经过了多名程序员开发,因为公司不大,之前的交接做的也不好,很多业务逻辑都没有书面描述,一些需要功能还需要程序员手工处理,所以新员工的培训成本太高,且交接不方便,所以和业务商量了一下,对代码进行整合优化,本文就是其中的一小难点。

首先介绍一下我们的系统,这是一个俱乐部平台,用户是通过内部系统进行添加,我们的系统没有添加的权限和功能,然而大部分的业务却又在在我们的系统中进行,所以需要用户数据同步,但是上级系统出于安全考虑不提供实时接口,只是每天提供相关的excel,我们需要比对后存入数据库。

原始的处理流程

我们首先分别在两台电脑上将excel转成csv文件,然后移到另一台linux电脑用Python程序处理为sql文件,移到线上命令行导入数据库,在运行php进行比对更新。
很繁琐,且离不开程序员,而且局限性很大。因为Python版本的问题,首先放弃了原Python处理csv的部分,准备改为php处理。

那如何把数据读出来存入数据库

按照早期入门时编写习惯,对于csv的处理代码,编写如下:

<?php
echo date('Y-m-d H:i:s').'|store<br />';
set_time_limit(0);
$file_name = 'store.csv';
$file = fopen($file_name,'rb');
$mysql_url = 'localhost';
$mysql_user = 'root';
$mysql_password = '123456';
$con = mysql_connect($mysql_url,$mysql_user,$mysql_password) or die('数据库连接失败');
mysql_select_db('test_db', $con);
mysql_query('set names utf8'); 
while (($data = fgetcsv($file, filesize($file_name), ",")) !== FALSE)
{
    foreach($data as $k2=>$v)
    {
        $data[$k2] = addslashes(trim(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值