图片 7

导入excel文件mysql数据库方法

问题:怎么把excel导入mysql?

一,安装mysql

先下载

回答:

如果是windows用户,mysql的安装非常简单,直接下载安装文件,双击安装文件一步一步进行操作即可。

下载phpExcel文件,地址:phpexcel.codeplex.com/

大家好,我是@EXCEL实例视频网站长@欢迎关注我的头条,每天都会分享Excel实战技巧!

Linux下的安装可能会更加简单,除了下载安装包进行安装外,一般的linux仓库中都会有mysql,我们只需要通过一个命令就可以下载安装:

在reader.php文件中找到以下类似代码(第一行既是),改成正确的oleread.php路径即可:require_once
‘oleread.php’;


Ubuntu\deepin

然后新建一个php文件引入reader.php,

昨天刚刚发了一个excel
vba+mysql的详细操作文档,有vba编程基础的话,应该就很简单了吧

>>sudo apt-get install mysql-server

代码如下:

参考链接

>>Sudo apt-get install  mysql-client

 代码如下

EXCEL操作数据和做数据统计分析以及图表分析非常好用,但是涉及大一点的数据或者需要形成网络系统的时候,就得用到数据库,而MYSQL开源稳定,而且免费,用它作为网络数据库非常方便,今天就给大家分享一个VBA操作MYSQL的完整示例,这里面有word版本的讲解,也有excel案例文件,这个代码中只要更换链接字符串也可变为操作sqlserver或者access数据库,希望大家能用得上,关注本头条号私信回复1009即可

centOS/redhat

<?php
require_once ‘Excel/reader.php’;
$data = new Spreadsheet_Excel_Reader();
$data->setOutputEncoding(‘gbk’);//此处设置编码,一般都是gbk模式
 
$data->read(‘Book1.xls’);//文件路径
 
error_reporting(E_ALL ^ E_NOTICE);
//这里我就只循环输出excel文件的内容了,要入库,只要把输出的地方,写一段mysql语句即可~
for ($i = 1; $i <= $data->sheets[0][‘numRows’]; $i++) {
 for ($j = 1; $j <= $data->sheets[0][‘numCols’]; $j++) {
  echo “””.$data->sheets[0][‘cells’][$i][$j].””,”;
 }
 echo “n”;
}
?>

主要内容如下▼▼▼

>>yum install mysql

代码示例

图片 1

二,安装MySQL-python

 代码如下

vba中使用mysql帮助文档

要想使python可以操作mysql就需要MySQL-python驱动,它是python操作mysql必不可少的模块。

require_once ‘phpexcel/Classes/PHPExcel.php’;
require_once ‘phpexcel/Classes/PHPExcel/IOFactory.php’;
require_once ‘phpexcel/Classes/PHPExcel/Reader/Excel5.php’;
$objReader = PHPExcel_IOFactory::createReader(‘Excel5’);//use excel2007
for 2007 format
$objPHPExcel = $objReader->load($filename);  
//$filename可以是上传的文件,或者是指定的文件
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow(); // 取得总行数
$highestColumn = $sheet->getHighestColumn(); // 取得总列数
$k = 0;   

EXCEL代码实例▼▼▼

下载地址:https://pypi.python.org/pypi/MySQL-python/

//循环读取excel文件,读取一条,插入一条
   for($j=2;$j<=$highestRow;$j++)
   {

图片 2

下载MySQL-python-1.2.5.zip 文件之后直接解压。进入MySQL-python-1.2.5目录:

     $a =
$objPHPExcel->getActiveSheet()->getCell(“A”.$j)->getValue();//获取A列的值
     $b =
$objPHPExcel->getActiveSheet()->getCell(“B”.$j)->getValue();//获取B列的值
     $sql = “INSERT INTO table VALUES(“.$a.”,”.$b.”)”;
     mysql_query($sql);

mysql+vba代码实例

>>python setup.py install

   }

回答:

三,测试

代码实例cvs导入到数据库

现在,将Excel导入mysql其实很简单,因为mysql已经带了mysql for
excel插件,可以直接到官网下载,如下图所示:

测试非常简单,检查MySQLdb模块是否可以正常导入。

把csv导入到数据库。

图片 3

图片 4

 代码如下

通过mysql form
excel插件,不仅可轻松地将Excel导入到mysql,而且可以将Excel直接连接到mysql中,对mysql中的相应数据进行修改。如下图所示:

没有报错提示MySQLdb模块找不到,说明安装OK,下面开始使用python操作数据库之前,我们有必要来回顾一下mysql的基本操作:

function   getmicrotime(){    
           
              list($usec,   $sec)   =  
explode(”  
“,microtime());    
           
                    return   ((float)$usec   +   (float)$sec);  
            }  
   
  $time_start   =   getmicrotime();  
   
  include   (“connectdb.php”);  
   
   
  function   insert_data  
($id,$summary,$description,$additional_information,$category)  
   
      {  
           
          $my_query1   =   “insert   into   mantis_bug_text_table  
(id,description,additional_information)    
                 
          values  
(‘$id’,’$description’,’$additional_information’)”;  
         
          $first   =   mysql_query($my_query1);      
   
          $my_query2   =   “insert   into   mantis_bug_table  
(id,project_id,summary,bug_text_id)   values  
(‘$id’,’$category’,’$summary’,’$id’)”;  
                 
          $second   =   mysql_query($my_query2);      
         
          return;  
      }  
   
  $fp   =  
fopen(“test.csv”,”r”);  
   
  while($data   =   fgetcsv($fp,’1000′,’,’)){  
   
              insert_data  
($data[0],$data[1],$data[2],$data[3],$data[4]);  
         
              echo   “<font   color   =   #ff0000   size   =  
20>数据导入成功!</font><br><br>”;      
      }  
  fclose   ($fp);  
   
  $time_end   =   getmicrotime();  
   
  $time   =   $time_end   –   $time_start;  
   
  echo   “程序执行时间:”.$time.”秒”; 

图片 5

四,mysql的基本操作

更多详细内容请查看:

当然,你也可以通过其他第三方的mysql数据库管理工具来进行数据导入或导出,但如果经常需要将Excel中的数据和mysql进行交互的话,强烈推荐mysql官方的这个插件。简单易用,而且可以非常方便地对数据按列名等进行匹配调整。

$ mysql -u root -p(有密码时)

回答:

$ mysql -u root(无密码时)

把excel文件导入mysql,方法有很多种,可以利用脚本语言,比例python,也可以利用工具,BI工具都支持外部数据源导入到数据库的表中。

mysql> show databases; // 查看当前所有的数据库

工具中常常会遇到一些excel表格数据需要导入到数据库,如果一条条手工输入,不但慢而且容易出错。我们可以用Navicat
for mysql直接导入方便,准确。

+——————–+

Navicat for mysql

Navicat是一个可多重连接的数据库管理工具,它可以连接到MySQL、Oracle、PostgreSQL、SQLite、SQL
Server和/或MariaDB数据库,让数据库管理更加方便。

图片 6

打开Navicat for
mysql,然后选择需要导入的表,右键弹出一个窗口,选择导入数据,进入到导入向导页面,跟着向导一步一步向前走,就能轻松地将数据导入到数据库中。

图片 7

| Database          |

Python

Python是一个胶水语言,通过几行简单的语句就可以将复杂的数据处理过程给处理好。导入数据库中总共需要分两步:

第一步,读取本地的需要导入的文件;

csvfile = file(‘/home/tom/Downloads/Code/city_data.csv’, ‘rb’)

reader=csv.reader(csvfile)

for line in reader:

data.append(line)

csvfile.close()

第二步,将读取到的数据写入到对应的表中。

conn =
MySQLdb.connect(host=’192.168.4.240′,user=’#’,passwd=’#’,db=’##’,port=3306,charset=’utf8′)
cur = conn.cursor() cur.executemany(“””insert into
dm_city_data(DATE_NAME,CITY_NAME,AREA_ID,SALE_VOLUME,NEW_SALE_VOLUME,NEW_MEMBER_NUMBER,ORDER_MEMBER_NUMBER,NEW_BELOW20YUAN_ORDER_NUMBER,NEW_NOSMOKING_NUMBER,NEW_MEMBER_BELOW20YUAN_PERCENT,NEW_MEMBER_NONSMOKER_PERCENT,AVG_MEMBER_ORDER,AVG_NEW_MEMBER_ORDER,SUB_ORDER_CASH,SUB_ORDER_NUMBER)values(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)
“””,new_data_insert) conn.commit() cur.close() conn.close()

以上举的两个例子,希望对题主有用。

回答:

Java编程,使用阿帕奇的POI解析excel,简单的直接将excel数据组装成SQL语句,利用jdbc连接数据库,然后批量执行SQL语句,将数据insert
into 进数据库相应的表中;复杂点可以将解析出的数据打包成Java
bean,利用hibernate连接数据库save进数据库

回答:

Java的话就用poi,一次性的话,直接找个第三方MySQL客户端导就行了,把列和字段对应上,使用确保不会出现not
null的Excel

+——————–+

| information_schema |

| csvt              |

| csvt04            |

| mysql              |

| performance_schema |

| test              |

+——————–+

rows in set (0.18 sec)

mysql> use test;  //作用与test数据库

Database changed

mysql> show tables;  //查看test库下面的表

Empty set (0.00 sec)

//创建user表,name 和password 两个字段

mysql> CREATE  TABLE  user (name VARCHAR(20),password VARCHAR(20)); 
Query OK, 0 rows affected (0.27 sec)

//向user表内插入若干条数据

mysql> insert into user values(‘Tom’,’1321′);

Query OK, 1 row affected (0.05 sec)

mysql> insert into user values(‘Alen’,’7875′);

Query OK, 1 row affected (0.08 sec)

mysql> insert into user values(‘Jack’,’7455′);

Query OK, 1 row affected (0.04 sec)

//查看user表的数据

mysql> select * from user;

+——+———-+

| name | password |

+——+———-+

| Tom  | 1321    |

| Alen | 7875    |

| Jack | 7455    |

+——+———-+

rows in set (0.01 sec)

//删除name 等于Jack的数据

mysql> delete from user where name = ‘Jack’;

Query OK, 1 rows affected (0.06 sec)

//修改name等于Alen 的password 为 1111

mysql> update user set password=’1111′ where name = ‘Alen’;

Query OK, 1 row affected (0.05 sec)

Rows matched: 1  Changed: 1  Warnings: 0

//查看表内容

mysql> select * from user;

+——–+———-+

发表评论

电子邮件地址不会被公开。 必填项已用*标注