sql - 如何更改 mysql 中导入电子表格的数据类型?

标签 sql mysql data-import

我已将美国政府统计数据的电子表格导入到 mysql 表中,目的是完成教程。

但是,美国政府似乎更改了格式,将一些数字用引号括起来,将其转换为字符串。

例如,这是我应该下载的制表符分隔数据的格式:

CN010010 01 001“阿拉巴马州奥托加县”2005 23831 23061 770 3.2

但是,它看起来像这样: CN010010 01 001 "Autauga County, AL"2005 "23,831 ""23,061 "770 3.2

因此,我想要作为整数导入的两个关键数据列(23831 和 23061 位)注册为 0 - 可能是因为它不符合数据类型。

现在和将来解决此问题的最佳解决方案是什么?

提前致谢。

最佳答案

“逗号”可能会导致问题。您是否为此使用加载数据文件?

假设表定义:

CREATE TABLE `t` (
  `code` varchar(255) DEFAULT NULL,
  `state` char(2) DEFAULT NULL,
  `city` char(3) DEFAULT NULL,
  `name` varchar(255) DEFAULT NULL,
  `year` int(11) DEFAULT NULL,
  `pop1` int(11) DEFAULT NULL,
  `pop2` int(11) DEFAULT NULL,
  `diff` int(11) DEFAULT NULL,
  `ratio` float DEFAULT NULL
)

以下命令将导入文件:

load data local infile "test.txt"
into table t
columns terminated by '\t'
optionally enclosed by '"'
(code, state, city, name, year, @var1, @var2, diff, ratio)
set pop1=replace(@var1,",", ""),
    pop2=replace(@var2, ",", "");

将插入以下行:

 code: CN010010
state: 01
 city: 001
 name: Autauga County, AL
 year: 2005
 pop1: 23831
 pop2: 23061
 diff: 770
ratio: 3.2

关于sql - 如何更改 mysql 中导入电子表格的数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4208923/

相关文章:

python pandas dataframe to_sql 将对象转换为 Mysql INT 数据类型会产生不正确的结果

xml - 如何使用单个 solr 实例或 Solr 模板字段无法正常工作来索引和搜索同一数据源中的两个不同表

mysql - 你能自动创建一个不强制外键约束的 mysqldump 文件吗?

sql - 您什么时候会在数据库标识字段上设置增量值?

php - 如果用户未在 Symfony 上确认,则拒绝访问

sql - rails : Order by sum of two columns

mysql - UPDATE值如果大于0怎么办?

c# - excel to oracle db 使用 VS 2005 C#

sql - 使用 MERGE INTO 合并来自不同数据库的 2 个表

sql - 加入两个表并正确分组结果