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

本文介绍了在Ubuntu系统中将CSV文件导入MySQL数据库的两种方法:使用MySQL自带的load data local infile命令和通过Ruby脚本实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在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
可以使用以下步骤将CSV数据导入到MySQL表中: 1. 确保你已经安装了MySQL数据库和命令行工具。 2. 将CSV文件放在一个你可以访问到的位置,比如你的用户主目录下。 3. 打开终端,进入MySQL命令行界面。可以使用以下命令登录: ``` mysql -u 用户名 -p ``` 这将提示你输入密码。 4. 创建一个数据库(如果还没有创建)并切换到该数据库: ``` CREATE DATABASE 数据库名; USE 数据库名; ``` 5. 创建一个表来存储CSV数据。你需要提前知道CSV文件的列数和数据类型。例如,假设你的CSV文件有3列(id, name, age): ``` CREATE TABLE 表名 (id INT, name VARCHAR(255), age INT); ``` 根据实际情况修改列名和数据类型。 6. 使用以下命令将CSV文件导入到表中: ``` LOAD DATA INFILE '/home/用户名/文件名.csv' INTO TABLE 表名 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 LINES; ``` 根据实际情况修改文件路径、表名和字段分隔符等。 - `FIELDS TERMINATED BY ','` 指定字段之间的分隔符为逗号(根据CSV文件的实际分隔符进行调整)。 - `ENCLOSED BY '"'` 指定字段值的包围符为双引号(根据CSV文件的实际情况进行调整)。 - `LINES TERMINATED BY '\n'` 指定行之间的分隔符为换行符。 - `IGNORE 1 LINES` 忽略CSV文件的第一行(标题行)。 7. 导入完成后,可以使用以下命令验证数据是否成功导入: ``` SELECT * FROM 表名; ``` 这将显示表中的所有数据。 这就是利用命令行将CSV数据导入到MySQL表中的步骤。请根据你的实际情况进行调整和修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值