`
supercode
  • 浏览: 29398 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

在ubuntu下如何将数据导入到mysql中

阅读更多
在unbuntu下导入数据的工具不是很多,今天也正好遇到,总结了几种方法。
假如我们的数据已经放到excel中,当然不是ms的excel,而是open office中的excel。
我们的数据结构很简单,第一列是一个数值,第二列是一个字符串。


第一种 用mysql自带方法

进入mysql中
load data local infile '/working/industry.csv' INTO TABLE mynewtable  fields terminated by ';' lines terminated by '\n' (name);
其中mynewtable是我们在mysql中创建的表,包括字段和类型都事先定义好。

第二种是用程序,用ruby写了一种。思路是先把excel文件另存为csv格式,再用ruby读取,再插入到数据库中。

require "mysql"

begin
  # connect to the MySQL server
  dbh = Mysql.real_connect("localhost", "root", "password", "myappdb")

  dbh.query("SET NAMES utf8")

  File.open('/working/industry.csv').each_line{ |s|
    lines =  s.split(',')
    sql = "insert into industries(ordervalue,name) values(" + lines[0] +",'" + lines[1].gsub("\"", "") +"');"
    #puts sql  
    dbh.query(sql)    
  }

  puts "Server version: " + dbh.get_server_info


rescue Mysql::Error => e
  puts "Error code: #{e.errno}"
  puts "Error message: #{e.error}"
  puts "Error SQLSTATE: #{e.sqlstate}" if e.respond_to?("sqlstate")
ensure
  # disconnect from server
  dbh.close if dbh
end
分享到:
评论
3 楼 下一站,火星 2009-07-10  
用rake+activerecord
2 楼 supercode 2009-07-10  
嗯,不错,你的这个更人性化了。
而我的方法更近原始,哈哈
1 楼 Hooopo 2009-07-10  
用activerecord呀......
前几天写的一个:

#平台:ruby 1.8.6
#需要下载activerecord库
#gem install activerecord
require 'rubygems'  
require 'activerecord'  
require 'yaml'  
require 'logger'  
#配置数据库连接信息 
dbconfig = YAML.load(DATA.read)["lawyer"] 
ActiveRecord::Base.establish_connection(dbconfig)  
#数据库log
ActiveRecord::Base.logger = Logger.new(File.open('database.log', 'a'))  
#构造Lawyer模型
class Lawyer < ActiveRecord::Base;end 
class String
  #转换Lawyer Name的格式
 def format_name
   self.split(/,/).reverse.join(" ").tr("'","")
 end
end
#获取var_list.html文件内容
html = open("bar_list.html").read
#构造匹配所需内容的正则表达式
reg =/
<tr\s+class="[^"]+">
\s*
<td><a\s+href="[^"]+"\s+class="[^"]+">(.*?)<\/a><\/td>
<td>(.*?)<\/td>
<td>(.*?)<\/td>
<td>(.*?)<\/td>
<td>(.*?)<\/td>
\s*
<\/tr>
/xm
#用正则获取所需内容并保存在lawyer_array数组中
lawyer_array = html.scan(reg)
#转换数组为哈希,以便存入mysql
lawyer_hash = lawyer_array.map do |la|
  {
   :lawyer_name => la[0].format_name, #格式化Name
   :status =>la[1],
   :bar_number => la[2],
   :city =>la[3],
   :admission_date =>Date.parse(la[4]) #把字符形式转换成Date
   }
 end
 #存入mysql
lawyers = Lawyer.create lawyer_hash
#以下为数据库连接配置,请根据自己的账户和密码设置..
__END__
lawyer:
  adapter: mysql
  encoding: utf8
  reconnect: false
  database: lawyer
  pool: 5
  username: root
  password:
  host: localhost
  
  

相关推荐

    mysql2influxdb:将时间序列数据从mysql导入InfluxDB

    将时间序列数据从 mysql 导入 InfluxDB。 安装 如果您使用的是 Debian/Ubuntu,则可以使用以下命令安装依赖项: $ sudo apt-get install python-influxdb $ sudo apt-get install python-mysqldb 如何使用 由于这...

    从MySQL到Redis的简单数据库迁移方法

    从mysql搬一个大表到redis中,你会发现在提取、转换或是载入一行数据时,速度慢的让你难以忍受。这里我就要告诉一个让你解脱的小技巧。使用“管道输出”的方式把mysql命令行产生的内容直接传递给redis-cli,以绕过...

    将远程数据库导入到本地数据库

    mysql 本地数据库如何从远程数据库导数据,本文以此问题进行详细介绍,需要了解的朋友可以参考下  写在前面:近开始用Ubuntu系统,实在没有好用的mysql界面程序,于是….只能用终端操作之了。  操作过程:打开...

    Myfox-query-module:Myfox(OLAP系统分布式MySQL代理层)数据查询模块

    myfox查询模块只提供查询服务,所以你必须已经将数据导入到mysql数据库中,导入的方法请点击这里 (下面提供了myfox查询模块的demo测试,这个测试不需要先装载数据)您必须提供可用的memcache服务器。如果您是...

    4d-mysqldump:连接到 4D 数据库并将所有或部分表结构数据转储到有效的 MySQL SQL 语句

    这个 PHP 脚本连接到 4D 数据库,然后将所有或部分表结构和数据转储到兼容的 MySQL SQL 语句中。 由于 4D SQL 实现的限制,某些列无法访问,因此数据被跳过。 版权所有 2013 旧金山美术博物馆,Brad Erickson ...

    Ubuntu Server下MySql数据库备份脚本代码

    我这里要把MySql数据库存放目录/var/lib/mysql下面的pw85数据库备份到/home/mysql_data里面,并且保存为mysqldata_bak_2012_04_11.tar.gz的压缩文件格式(2012_04_11是指备份执行时当天的日期), 最后只保留最近7天...

    Mysql WorkBench安装配置图文教程

    本文为大家分享了Mysql WorkBench安装配置图文教程,供大家参考,具体内容如下 workbench下载地址 下载到workbench下载包后按照默认提示安装。 如果需要切换workbench的新老版本,可以按照如下提示切换: ...

    linux安装mysql和使用c语言操作数据库的方法 c语言连接mysql

    在Ubuntu下安装MySQL方法很简单,使用如下命令: 代码如下:sudo apt-get install mysql-server 安装的过程中系统会提示设置root密码,此过程可以跳过,但是建议在安装时提示设置root密码的时候自行设置,免得后面...

    java图书馆swing源码-DBISProject:使用Java和MySQL的图书馆管理系统

    中导入 Java 项目 在 NetBeans 8.1 中克隆项目 NetBeans-&gt;团队-&gt;Git-&gt;克隆并复制粘贴链接 导入数据库(Schema+Data) 使用 MySQL WorkBench 导入 MySQL 数据库中的数据库(版本如上) MySQL Workbench

    python中使用mysql数据库详细介绍

    Linux 下的安装可能会更加简单,除了下载安装包进行安装外,一般的linux 仓库中都会有mysql ,我们只需要通过一个命令就可以下载安装: Ubuntu\deepin 复制代码 代码如下: &gt;&gt;sudo apt-get install mysql-server &gt;&gt;...

    akcms.tar.gz_300

    针对SQLite数据库启用了事务,大幅提高写操作速度,感受最明显的就是大量写数据的操作,如:在开发机上安装速度提升10倍以上,导入数据速度提升300倍以上,最常用的新建文章等操作的速度也有提升不过感觉不明显。...

    TravelProject

    TravelProject 运行环境 Linux环境 ubuntu 16.04 python依赖 # 当前文件目录下的requirements.txt ...# 导入数据文件 mysql -u root -p &lt; travel.sql python代码 # 运行程序 python3 manage.py runserver

    DBMS-project:DBMS项目

    DBIS项目 使用Java和MySQL的图书馆管理系统 小型项目 课程:CS 257 由开发 Bikash Kumar [ ] Piyush Kalkute 环境与要求 编程语言:带有Swing的JAVA... 在NetBeans中导入Java项目 在NetBeans 8.1中克隆项目 NetBeans

    python使用mysql数据库示例代码

    Linux 下的安装可能会更加简单,除了下载安装包进行安装外,一般的linux 仓库中都会有mysql ,我们只需要通过一个命令就可以下载安装: Ubuntu\deepin &gt;&gt;sudo apt-get install mysql-server &gt;&gt;Sudo apt-get ...

    signinsys-php:报名管理系统

    mm报名管理系统报名管理系统是一个用于大学,企业中,小型活动报名统计的WEB项目。...本地环境的建设:开发环境在windows10下完成运行在ubuntu 16下并通过nginx作为服务器,mysql作为数据库设计设计项

    data-pre-reqs

    MySQL :导入和查询MongoDB :导入和查询如果您按照此处的说明进行操作: 您将完全准备好进行编码的机器在整个课程中,您将至少练习一次日常任务。 请按照以下步骤登上火箭飞船 :rocket: ### 1.您的计算机上的操作...

    基于python Flask 框架开发的微信小程序后端项目,用于构建小程序商城后台

    字典管理:维护系统中经常使用的字典数据,如:性别,状态 参数管理:系统动态配置常用参数,如:分页数,前端主题色等 通知管理:系统通知&公告信息的发布维护 日志管理:操作日志和登录日志 接口文档:根据业务...

    ansible:Ansible剧本

    Playbook将安装以下软件包并创建数据库,并导入示例数据并从github克隆示例代码。 注意:该软件包适用于Ubuntu,适用于其他LInux os系列。 资源 支持以下类型的资源: [易于] [服务] [mysql_db] [mysql_user] ...

    java8源码-article:sgk

    java8 源码 实战社工库搭建 solr架构 python开发查询页面 0x前言 之前就在坛子里和大家交流了下搭建裤子的问题,本来还以为估计要被喷死,没想到大家还是挺友好的,多谢理解。...成功从mysql导入到solr中 然后solr有w

    RedKindle:Kindle期刊推送系统

    退出后,导入数据: mysql -u root -p redkindle &lt;abc.sql 连接数据库:进入model.py,在第7行设置帐号密码。 安装依赖库: apt-get安装python-pip apt-get安装python-dev apt-get install build-essential apt-...

Global site tag (gtag.js) - Google Analytics