`
天梯梦
  • 浏览: 13731063 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

CSV 导入mysql 数据库

阅读更多

链接:php导出到Excel 或 CSV


CSV 直译的就是 逗号分隔值

 

顾名思义,就是用英文的 "," 做分割。 CSV 导入mysql 数据库的核心原理也就在于此。

 

我们将会用到一个关键函数 fgetcsv(),它的解释如下:

 

fgetcsv() 函数从文件指针中读入一行并解析 CSV 字段。

 

fgets() 类似,不同的是 fgetcsv() 解析读入的行并找出 CSV 格式的字段,然后返回一个包含这些字段的数组。

fgetcsv() 出错时返回 FALSE,包括碰到文件结束时。

 

注释: 从 PHP 4.3.5 起,fgetcsv() 的操作是二进制安全的。

 

用法:

 

fgetcsv(file,length,separator,enclosure)
 

file 必需。规定要检查的文件。
length

可选。规定行的最大长度。必须大于 CVS 文件内最长的一行。

在 PHP 5 中该参数是可选的。在 PHP 5 之前是必需的。

如果忽略(在 PHP 5.0.4 以后的版本中设为 0)该参数的话,那么长度就没有限制,不过可能会影响执行效率。

separator 可选。设置字段分界符(只允许一个字符),默认值为逗号。
enclosure

可选。设置字段环绕符(只允许一个字符),默认值为双引号。

该参数是在 PHP 4.3.0 中添加的。

 

 

完整代码:

 

<?php
	// 定义获取时间函数
	function getmicrotime(){
		list($usec, $sec) = explode(' ',microtime());
		return ((float)$usec + (float)$sec);
	}

	$time_start = getmicrotime();


	// 连接数据库

	/*
	include("database_class.php");
	$db = new Database;
	*/

	mysql_connect('localhost','root','root'); 
	mysql_select_db('test');

	// 操作csv
	$handle = fopen ('test.csv','r');
	$sql="insert into `test` (`id`,`name`,`sex`,`nation`) values ('',";
		while ($data = fgetcsv ($handle)) {
		   $num = count ($data);
		   for ($i=0; $i<$num; $i++) {
			   if($i == $num-1){
				   $sql .= "'".$data[$i]."')";
				   break;
				}
			   $sql .= "'".$data[$i]."',";
		   }

			print '<br>';
			echo $sql.'<br>';

			mysql_query($sql);

			echo 'sql语句执行成功!<br>';
			$sql="insert into `test` (`id`,`name`,`sex`,`nation`) values ('',";
		}

	fclose ($handle);

	// 显示执行时间
	$time_end = getmicrotime();
	$time = $time_end - $time_start;
	echo "程式执行时间:".$time."秒<br>";

	// 显示数据库结果
	$result = mysql_query('select * from `test`');
	while($row = mysql_fetch_array($result)){
		echo $row['id'],'<br>',$row['name'],'<br>',$row['sex'],'<br>',$row['nation'],'<br>';
	}
 

 

 

 

fgetcsv 例子

<?php

$file = fopen("contacts.csv","r");

while(! feof($file))
  {
  print_r(fgetcsv($file));
  }

fclose($file);

?> 
 

CSV 文件:

 

George, John, Thomas, USA
James, Adrew, Martin, USA

 

输出类似:

 

Array 
( 
[0] => George
[1] => John 
[2] => Thomas
[3] => USA

Array
(
[0] => James
[1] => Adrew
[2] => Martin
[3] => USA
)
 

 

  • csv.rar (1.2 KB)
  • 下载次数: 56
分享到:
评论

相关推荐

    全网首发!CSV文件导入MySQL数据库工具软件 CSVtoDB v1.0.zip

    CSV文件导入MySQL数据库工具软件 CSVtoDB v1.0.zip 因手头项目需要向MYSQL数据库导入大量的EXCEL数据。网上搜索了相关博客,受限于功能或者本人有一点点的小强迫,业余时间开发了本工具。 EXCEL导入到MYSQL有多种...

    java使用javacsv读取csv文件 导入Mysql数据库

    在Java编程中,将CSV(逗号分隔值)文件的数据导入到MySQL数据库是一项常见的任务。这个过程涉及几个关键步骤,包括读取CSV文件、解析数据、建立与数据库的连接以及执行SQL插入语句。本篇文章将详细讲解如何使用java...

    csv_mysql_importer:将csv导入mysql数据库

    标题"csv_mysql_importer:将csv导入mysql数据库"提示我们将探讨如何利用Python脚本处理CSV文件并将数据有效地存储到MySQL数据库中。 首先,Python是一种强大的编程语言,它拥有丰富的库支持,如pandas和mysql-...

    Shell脚本批量添加CSV数据到MySQL

    本篇将详细介绍如何使用Shell脚本结合CSV文件批量将数据导入MySQL数据库,以提高工作效率。 首先,`prov.csv` 是一个包含CSV(逗号分隔值)格式的数据文件,这种文件类型常用于存储表格数据,易于读写和处理。在本...

    VB读CSV到mysql_VB读取CSV到mysql_源码

    标题中的"VB读CSV到mysql"指的是使用Visual Basic (VB)编程语言来读取CSV(逗号分隔值)文件,并将数据导入到MySQL数据库的过程。这是一个常见的数据迁移任务,特别是在处理大量结构化数据时。VB是Microsoft开发的一...

    Python之csv文件从MySQL数据库导入导出的方法

    csv文件导入MySQL数据库 import pymysql import csv import codecs def get_conn(): conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='root', db='test_csv', charset='utf8') return ...

    将Excel数据导入mysql数据库的几种方案.pdf

    首先,我们需要将 Excel 文件中的数据导出为 CSV 文件,然后使用 MySQL 的 LOAD DATA 语句将数据导入到数据库中。 优点:简单、快速,易于实现。 缺点:需要将 Excel 文件中的数据导出为 CSV 文件,并且 LOAD DATA...

    PHP把CSV数据导入数据库的工具

    本篇文章将深入探讨如何使用PHP将CSV数据高效地导入到数据库中,这对于初学者来说是一份非常实用的知识。 首先,我们需要了解PHP处理CSV文件的基本方法。`fgetcsv()`是PHP内置的一个函数,它可以读取CSV文件并逐行...

    excel文件导入mysql数据库

    总之,将Excel文件导入MySQL数据库是一个常见的数据操作任务,通过合理利用各种工具和方法,可以高效、准确地完成数据迁移。在实际工作中,根据具体需求和环境选择合适的方法,同时确保数据安全和完整性。

    java实现批量导入.csv文件到mysql数据库

    java实现批量导入.csv文件到mysql数据库 概述 本文主要介绍了使用Java实现批量导入.csv文件到MySQL数据库的方法。该方法可以快速地将.csv文件中的数据批量导入到数据库中,具有很高的实用价值。 Java实现批量导入...

    excel导入mysql数据库实例

    以下是一个关于“Excel导入MySQL数据库实例”的详细知识讲解。 首先,了解基本概念: 1. Excel:Microsoft Excel是一款电子表格程序,允许用户创建、编辑和共享包含数字、文本和公式的数据。 2. MySQL:MySQL是一种...

    Access数据库导入Mysql的方法

    1. **检查数据类型**:根据MySQL数据库的设计,检查导出的CSV文件中的数据类型是否匹配。 2. **处理特殊字符**:例如,如果Access数据中有逗号或引号,则需要在CSV文件中进行适当的转义处理。 3. **删除不必要的列**...

    PHP编程实现csv文件导入mysql数据库的方法

    在PHP编程中,将CSV文件导入到MySQL数据库是一项常见的任务,尤其在数据迁移或数据分析时。下面我们将详细探讨如何通过PHP实现这一功能。 首先,我们需要建立数据库连接。在`config.db.php`文件中,可以看到使用了`...

    TXT文件数据导入到mysql数据库

    在完成数据库表的创建后,我们可以使用多种方法将TXT数据导入MySQL: 1. **LOAD DATA INFILE命令**:这是MySQL提供的一种高效导入方法。例如,如果你的TXT文件在服务器本地,可以使用以下命令: ```sql LOAD ...

    英汉单词词汇数据库MYSQL版和CSV版.rar

    简明英汉词典的MYSQL/ CSV数据库,适合开发手机词典时使用,包含210311个单词及词组的中英文简明释义,并通过英国国家语料库词频资料前15万单词和美国当代语料库前6万单词范围进行校对,补充了数万词汇,基本做到...

    使用kettle将文本文件导入到数据库

    一个简单的例子,使用kettle将文本文件导入到数据库

    txt数据文件导入mysql数据库

    标题"txt数据文件导入mysql数据库"就是指的这个功能。使用方法如下: ```sql LOAD DATA INFILE 'input_file.txt' INTO TABLE table_name FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' ...

Global site tag (gtag.js) - Google Analytics