在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

你可能感兴趣的:(数据结构,mysql,ubuntu,Excel,ActiveRecord)