`
supercode
  • 浏览: 29931 次
  • 性别: 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
  
  

相关推荐

    将shp文件导入到mysql的命令.zip

    通过以上步骤,SHP文件已经成功导入到MySQL数据库中,可以用于进一步的空间数据分析和应用。注意,根据SHP文件的具体内容和需求,可能需要调整数据类型、坐标系或其他 ogr2ogr 参数。同时,为了性能考虑,建议使用...

    ubuntu mysql5.6 客户端安装包及说明

    在Ubuntu系统上,MySQL是广泛使用的开源关系型数据库管理系统,其客户端...这个资源提供的安装说明和客户端工具将帮助用户在Ubuntu环境中顺利地与MySQL 5.6服务器进行交互,解决可能遇到的数据迁移和版本兼容性问题。

    ubuntu server下安装mysql 以及设置双机热备份

    Ubuntu Server 下安装 MySQL 及设置双机热...在本篇文章中,我们学习了如何在 Ubuntu Server 下安装 MySQL 服务器,以及如何设置双机热备份。我们还学习了如何导入数据库。这些知识点对于我们在实际工作中非常有用处。

    在ubuntu16.04下安装mysql的简便方法

    在Ubuntu 16.04上安装MySQL是一个相对简单的过程,尤其对于熟悉Linux系统的用户来说。MySQL是一个流行的开源关系型数据库管理系统(RDBMS),它广泛...理解这些知识点将有助于你在实际操作中更好地管理MySQL数据库。

    利用R进行数据可视化分析,可视化分析MySQL中的数据

    在进行MySQL数据的可视化分析之前,需要确保已经将MySQL中的数据导入到R环境中。这通常涉及到使用`RMySQL`包中的`dbConnect()`、`dbGetQuery()`等函数建立连接并提取数据。例如: ```R library(RMySQL) con (RMySQL:...

    Mysql5.7.38数据库离线安装包

    4. **复制到目标系统**:将 `mysql.list` 文件复制到离线 Ubuntu 系统的 `/etc/apt/sources.list.d/` 目录下,并将下载的 MySQL 安装包(`mysql-offline`)放置在系统中任意位置。 5. **更新软件包列表**:在离线...

    Ubuntu安装MySQL及常用操作

    **问题原因:**sqoop导入MySQL时出现中文乱码问题通常是由于MySQL的`character_set_server`默认设置为`latin1`造成的。 **解决方案:** 1. **编辑MySQL配置文件**: ```bash sudo vi /etc/mysql/mysql.conf.d/...

    MySQL导入sql脚本错误:2006 解决方法

    MySQL导入sql脚本错误:2006 – MySQL ...最终找到原因,原来是MySQL导入大批量数据的时候超出了默认允许最大的数据包所以就提示2006 – MySQL server has gone away 于是找到my.cnf,在[mysqld]加入: max_allowed_pa

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

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

    Linux安装Mysql5.6教程(手把手教你)

    本文将详细介绍如何在Linux环境下安装MySQL 5.6版本,并进行基本配置。无论你是初学者还是有一定基础的学习者,通过本文的指引都能顺利完成MySQL的安装与配置过程。 #### 二、准备工作 在开始安装MySQL之前,请确保...

    Mysql5.6.27源码安装【Ubuntu15 原创】

    - 上述命令会先运行`./configure`脚本来检测系统的配置,并生成Makefile文件,之后通过`make`编译源代码,最后使用`make install`命令将编译后的文件安装到系统中。 **1.2 安装 Curses** - Curses 库在大多数...

    Ubuntu下MySQL数据库安装后初步设置

    在Ubuntu操作系统中安装MySQL数据库后,为了确保系统的安全性及正常运行,需要进行一系列的初步设置。本文将详细讲解这些步骤。 首先,安装MySQL数据库在Ubuntu上通常是通过apt-get命令完成的,例如: ```bash sudo...

    ubuntu 下数据库管理工具dbeaver

    Ubuntu 下数据库管理工具 DBeaver 的安装步骤 ...* 支持数据导入、导出和同步 * 支持数据库安全管理和访问控制 DBeaver 是一个功能强大且易用的数据库管理工具,在 Ubuntu 下安装和使用非常方便。

    Ubuntu安装配置Mysql.docx

    - 设置MySQL随系统自启动:将启动命令添加到`/etc/rc.local` 5. **远程访问配置**: - 允许`root`用户远程登录,更新权限: - 登录MySQL:`mysql -u root -p` - 更改权限: - `grant all privileges on *.* to...

    ubuntu10.10下qt连接mysql数据库.pdf

    在Ubuntu 10.10操作系统中,使用Qt进行MySQL数据库连接涉及多个步骤,包括环境配置、数据库安装、用户授权以及编程实现。以下是对这些步骤的详细解释: 1. **安装Qt开发环境**: 在Ubuntu 10.10上,你可以通过`apt...

    Ubuntu15.10使用mysql 5.6.28中文乱码问题解决.docx

    在Ubuntu 15.10操作系统中安装并使用MySQL 5.6.28时,可能会遇到中文乱码的问题。这通常与字符集配置有关,影响到数据的正确存储和显示。以下是一份详细的解决方案,旨在帮助你解决这个问题。 首先,我们需要检查...

    黑马程序员mysql在linux下的安装

    在Linux下安装MySQL涉及到多个步骤,包括环境准备、安装包获取、依赖处理、安装过程以及配置服务。接下来,我们将详细探讨这些步骤。 一、环境准备 在安装MySQL前,首先确保你的Linux系统是最新的。可以通过运行`...

    mysql数据库备份与还原

    - 切换到MySQL的数据目录,通常为`/var/lib/mysql`。 - 运行`mysqldump`命令进行备份,语法如下: ```bash mysqldump -u 用户名 -p 数据库名 &gt; 导出文件名 ``` 例如: ```bash mysqldump -u root -p voice &gt;...

    ubuntu系统下 python链接mysql数据库的方法

    本文将详细介绍如何在Ubuntu环境下配置Python连接MySQL数据库的步骤。 首先,确保已经安装了MySQL服务器和客户端。在Ubuntu命令行中,使用管理员权限(即root权限)运行以下命令来安装MySQL服务和客户端: ```bash...

Global site tag (gtag.js) - Google Analytics