中企动力 > 商学院 > mysql导入excel数据
  • ?

    有了PowerQuery,Excel也可以玩爬虫了

    美人

    展开

    PowerBI的强大绝不仅是最后生成炫酷的可视化报告,她在第一步数据获取上就显示出了强大的威力,利用Power Query 的强大数据处理功能,几乎可以从任何来源、任何结构、任何形式上获取数据

    以下以PowerBI中的操作为例,在Excel的Powerquery插件或者Excel2016中操作类似。

    数据的获取上不仅支持微软自己的数据格式,比如Excel、SQL Server、Access等;还支持SAP、Oracle、MySQL、DB2等几乎能见到的所有类型的数据格式,总有一种适合你;

    不仅能能从本地获取数据,还能从网页抓取数据。选择从Web获取数据,只要在弹出的URL窗口中输入网址,网页上的数据就可直接抓取到,用这种方法我们可以实时抓取股票涨跌、外汇牌价等等交易数据,现在我们尝试一下,比如从中国银行网站上抓取外汇牌价信息,先输入网址:

    点击确定以后,出现预览窗口,

    点击编辑,进入查询编辑器,

    外汇数据抓取完成,剩下的就是数据整理的过程了,而且这些抓取的信息可以随时刷新来更新数据的。这只是抓取外汇牌价的第一页,其实抓取多个页面数据也是可以的,等后面介绍过M函数以后再专门写一篇。

    以后再也不需要手动从网页上复制数据再粘贴到表格中了。

    其实每个人接触到的数据格式很有限,熟悉自己的数据类型知道如何导入到PowerBI以后,下一步就是进行数据处理的过程,这才是我们真正需要掌握的核心技巧。

  • ?

    PHP快速导入数据到数据库

    玛丽亚

    展开

    今天一朋友遇到将excel数据导入到mysql数据库, 20多万条的数据导入到mysql需要两分多钟,老板认为这个速度太慢了,于是我们就一起想办法,最终把时间缩短到13秒左右, 这里把解决问题的经过给大家做个分享.

    两分钟是这样的: 用phpexcel读取文件,然后通过foreach循环使用tp的插入数据库方法

    测试1: 读取phpexcel, 然后做个循环,不插入数据库就需要 1分多钟,于是就意识到读取 excel太花时间,那么有没有更好的文件可以读取呢

    测试2: 通过搜索,可以通过PHP直接读取csv格式的文件,于是,换成 csv的文件读取,时间少了一半,但仍然觉得时间太久

    测试3: tp插入数据库的方法比较花时间,然后换成原来 php连接插入数据库, 时间再次所短一半,这个时候还需要 30 多秒,能不能再减少了

    测试4: 思考:既然循环需要时间,那么是否可以大批量插入呢,经过搜索,原来sql语句还可以这样写:

    测试5: 把20多万分成20多次分批导入,时间再次缩短了很多,最终 13秒 搞定[本人电脑配置一般,电脑好应该会再快一些]

    代码如下:

    南昌雅腾教育专注php软件开发+web前端开发技术培训

    小班现场面授+技术总监手把手辅导+理论与企业项目实战结合

    转行零基础、4个月、包教会、推荐就业!

    学一技之长,有核心竞争力,实现高薪就业!

  • ?

    PHPexcel读取excel数据

    邢颤

    展开

    PHPExcel是一个PHP类库,用来帮助我们简单、高效实现从Excel读取Excel的数据和导出数据到Excel。也是我们日常开发中,经常会遇到的使用场景。PHPExcel可以快速导入客户信息,避免人工录入信息的麻烦。这里分享下读取数据的过程

    1. 下载PHPexcel, 我这里下载的PHPExcel-1.8

    2. 将下载的文件解压缩拷贝到项目目录中,如图:

    3. 准备好要读取的excel文件,如图:

    4. 加载PHPexcel文件并读取数据:

    5. 读取结果如下:

  • ?

    mysql使用sql备份文件恢复数据库

    一米八

    展开

    前言

    数据迁移、恢复,就要用到备份了。使用mysqldump导出来的基本都是sql数据句,可以直接使用mysql命令还原数据。

    1、恢复到指定数据库

    mysql -hhostname -uusername -ppassword databasename < backupfile.sql

    2、还原压缩的MySQL数据备份文件

    gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename

    3、直接将备份导入到新的数据库

    mysqldump -uusername -ppassword databasename | mysql -host=192.168.1.101 -C databasename

    4、使用source导入sql文件

    mysql > use cmdb

    mysql > source /data/cmdb_backup.sql

    总结

    这些简单的命令基本都是再迁移的时候使用的,如果是线上的数据库,还要考虑到锁表、binlog等,一步步来。

  • ?

    python 导入400M excel文件,Mysql查询,删除

    杨念云

    展开

    (1):导入 xlsx,没有xlrd,MySQLdb 的安装一下

    import xlrd

    import MySQLdb

    # Open the workbook and define the worksheet

    book = xlrd.open_workbook("1.xlsx")

    sheet = book.sheets()[0]

    database = MySQLdb.connect("localhost","root","","test",charset='utf8')

    cursor = database.cursor()

    spe = ';'

    query = """INSERT INTO tb_ic_info_test (firm_name, ic_name, ic_domain, ic_area, ic_host_type, ic_ip_f, ic_ip_s) VALUES (%s, %s, %s, %s, %s, %s, %s)"""

    for r in range(1, sheet.nrows):

          firm_name = sheet.cell(r,0).value      

          ic_name = sheet.cell(r,1).value

          ic_domain= sheet.cell(r,2).value

          ic_area= sheet.cell(r,3).value

          ic_host_type= sheet.cell(r,4).value

          ic_ip_f= sheet.cell(r,5).value

          ic_ip_s= sheet.cell(r,6).value

          if spe in ic_domain:

                ic_domain_arr = ic_domain.split(spe)

              for s in ic_domain_arr:

                    valuess = (firm_name, ic_name, s_domain, ic_area, ic_host_type, ic_ip_f, ic_ip_s)

                    cursor.execute(query, valuess)                    

          print r 

          values = (firm_name, ic_name, ic_domain, ic_area, ic_host_type, ic_ip_f, ic_ip_s)      

          cursor.execute(query, values)    

    cursor.close()

    databasemit()

    database.close()

    print "Done! "

    print ""

    (2):从数据库里,查询,删除

    import xlrd

    import MySQLdb

    import json

    # Open the workbook and define the worksheet

    database = MySQLdb.connect("localhost","root","","test",charset='utf8')

    cursor = database.cursor()

    query = """SELECT * from tb_ic_info  where ic_domain like '%;%'"""

    query_insert = """INSERT INTO tb_ic_info (firm_name, ic_name, ic_domain, ic_area, ic_host_type, ic_ip_f, ic_ip_s) VALUES (%s, %s, %s, %s, %s, %s, %s)"""

    query_delete = """DELETE from tb_ic_info  where id = %s"""

    cursor.execute(query)

    resultss = cursor.fetchall()

    for results in resultss:

          firm_id = results[0]

          firm_name = results[1]    

          ic_name = results[2]

          ic_domain = results[3]

          ic_area= results[4]

          ic_host_type= results[5]

          ic_ip_f= results[6]

          ic_ip_s= results[7]

          ic_domain_arr = ic_domain.split(';');

          for domain in ic_domain_arr:

          values = (firm_name, ic_name, domain, ic_area, ic_host_type, ic_ip_f, ic_ip_s)      

          cursor.execute(query_insert, values)    

          print values

          cursor.execute(query_delete, firm_id)

          print firm_id

          #values = (firm_name, ic_name, ic_domain, ic_area, ic_host_type, ic_ip_f, ic_ip_s)      

          #print firm_name

          #json_values = json.loads(values)

          #print json.dumps(json_values)

          #cursor.execute(query, values)    

    cursor.close()

    databasemit()

    database.close()

    print "Done! "


  • ?

    利用MySQL工具之SQLYog进行数据导入

    黎浩宇

    展开

    相关MySQL的安装包和工具,可以免积分到CSDN下载栏目下载,地址为:http://download.csdn/detail/taomanman/9642852

    1、导入外部数据向导,如下图所示:

    2、开始新工作,点击“下一步”,如下图所示:

    3、建立新的DSN,如下图所示:

    4、勾选“文件数据源”,点击“下一步”,如下图所示:

    5、选择“SQL Server” ,点击“下一步”,如下图所示:

    6、输入数据源路径及名称,点击“下一步”,如下图所示:

    7、点击完成,点击“下一步”,如下图所示:

    8、输入服务器IP地址,点击“下一步”,如下图所示:

    9、输入登录ID和密码,点击“下一步”,如下图所示:

    10、勾选“更改默认的数据库为” ,点击“下一步”,如下图所示:

    11、点击“完成”,点击“下一步”,如下图所示:

    12、点击“测试数据源”,点击“下一步”,如下图所示:

    13、测试成功,点击“确定”,如下图所示:

    14、输入数据源凭据,点击“下一步”,如下图所示:

    15、选择文件DSN,浏览到先前创建的dsn文件,然后点击“下一步”,如下图所示:

    16、输入MySQL信息,点击“下一步”,如下图所示:

    17、选择从数据源拷贝数据,点击“下一步”,如下图所示:

    18、选择源和目的表(表结构,表名称要完全一致),然后点击“下一步”,如下图所示:

    19、默认出错错误处理,点击“下一步”,如下图所示:

    20、何时运行任务,点击“下一步”,如下图所示:

    21、正在完成数据库导入,点击“下一步”,如下图所示:

    22、向导成功完成,点击“完成”,如下图所示:

    23、在SQLyog中可以看到已经导入到MySQL数据库表中的数据了,如下图所示:

    至此,关于SQL Server 2008 R2中的数据库表数据导入到MySQL数据库表中的操作步骤已经详细介绍完毕了。

  • ?

    首发:Mysql之BIT数据导入,曲折的开发路

    安格斯

    展开

    今天有人问如何存储二进制代码或者binary,这需求来源与二维码的一些存储需求,定义列必须是BIT,有点奇葩,但是感觉需求也不过分,就尝试来做下,一路挺曲折的,最终发现当插入BIT值,Mysql自动将转换整型值为bit。来看看这一路的测试。

    1.测试数据生成,因为演示,只模拟两条就够了,多与少不是问题。

    Linux Mysql BIT

    2.创建用例表:

    3.先按照常规插入数据的方法插入数据:

    直接失败,啥数据都没有插入。。。还提示宽度不够,然后把b宽度调整到50照样数据不对:

    4.尝试使用load data:

    还是有错误,数据直接不对,照样提示失败。

    5.找了下官文,原来在load的时候,Mysql会自动把整形转换为bit,那就换一种写法:

    只能说Mysql知识太多了,个人掌握的太少,也只能这样将就的写写了。应该还有其他方法的,以后再找找,如有大神,也请指教。

  • ?

    mysql导入数据的N种方法 命令行/工具

    玫瑰丛

    展开

    mysql导入数据有很多种方法,对于初级别的应用来说,这些方法无所谓好坏之分,看个人习惯来使用。

    连接进入数据库windows : 开始菜单->运行    cmd   linux :  如果没有配置环境变量, 则到mysql 的bin 目录中去

    输入:  mysql -u root -p  回车  进入数据库

    使用库/创建库   譬如数据库名字为:testdb如果数据库存在, 则   use  testdb如果数据库不存在, 则创建  create database testdb  然后在  use  testdb

    将你要导入的数据库文件  *.sql   放到 D或者任意方便输入的位置, 我放置到了D盘的根目录下然后输入命令: source d:/testdb.sql  回车,会看到如图的

    进入到命令行模式。步骤直接同上第一步。直接输入: mysqldump -u root -p testdb < d:/testdb.sql 然后回车

    会提示输入密码:  直接输入密码,回车搞定!

    我们常用的mysql工具有 phpmyadmin   sqllog  navcat 等。 工具导入的方式就以 sqllog 为例,第一步新建数据库: 输入数据库名, 注意字符集和编码

    右键数据库, “导入”->"执行SQL脚本"  然后选择数据库。 点击确定即可

    点击“执行”, 可能会弹出一个对话框,直接忽略,点击“确定”就可以了

  • ?

    MySQL导入导出文本数据

    依稀

    展开

    前言

    MySQL表格数据可以直接通过select导入导出到文本,可以快速的提取数据。

    INTO OUTFILE

    在命令行中直接使用into outfile写到指定的目录下就可以了,记得目录需要MySQL运行用户有写的权限

    select * into outfile "/data/outputdata/1.txt" from test.t1;

    如果对文本格式用要求,可以队列和行的数据进行格式化

    fields:设置字段选项

    设置字段分隔符:field terminated by '\t'

    lines:设置行选项

    设置导出每行添加换行符:lines terminated by '\n'

    每行开始添加指定的字符串:starting by 'start:'

    例如

    设置列以 , 分割,每行添加换行符并设置行头以start:开始

    select * into outfile "/data/outputdata/2.txt" fields terminated by "," lines terminated by '\n' starting by 'start:' from test.t1;

    文本数据如下

    start:2,pppP

    start:1,ddd

    LOAD DATA INFILE

    MySQL可以支持从文本文件里面直接load文本数据到表中,但是也需要指定分割符

    load data infile "/data/outputdata/2.txt" into table test.t2 fields terminated by ',';

    总结

    这样子的导入导出就是为了方便获取到数据,如果是备份不建议使用这种方式。

  • ?

    利用workbench将excel数据导入到MySQL中

    映容

    展开

    数据导入的方式(csv,txt之类)

    在MySQL中,数据导入的方式有两种方式

    通过第三方客户端导入(workbench)

    通过mysql client 方式导入

    通过mysql clinet的导入方式,相比第三方客户端导入的方式,效率会高点,但是类似workbench这种的,因为图形UI做的相对比较人性,研发人员在处理数据的过程中减少对指令的交互

    具体操作方法 准备数据(csv准备)

    当你的CSV数据准备好之后,需要有个点注意(由于导入容易碰到编码问题,所以在导入之前,需要使用notepade++将csv文件的编码转换成utf-8的编码方式[格式-->utf-8编码格式])然后保存 导入数据

    1.选中你需要导入的库的项

    2.选择需要导入的csv文件(也可以是json格式)

    3.由于csv中的字段并不是完整是所有表的字段,故此我们在这里新创建一张表(建议是先创建一张跟要同步的表一样字段属性的表先)

    4.留意导入的数据是否正确

    5.一直点NEXT即可完成

    总结

    需要注意的是:如果使用workbench导入的时候,如果数据量不大,可以使用这种方式,如果数据量比较庞大,建议直接通过命令行的方式会高效,其中一个最明显的特征就是如果导入大量数据的CSV,在workbench导入的时候,可能会卡死或者桌面终端无法操作,从而导致导入失败

mysql导入excel数据

所有视频需要登录后,才能观看

请先登录您的帐号,即可完整播放,如果您尚未注册帐号,请先点击注册。

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP