将 Microsoft Excel 导入至 MySQL

将 Microsoft Excel 导入至 MySQL

一、前言

我得到了一份 Microsoft Excel 表格,里面记录了数据信息需要导入至 SQL 数据库。

如果只是导入数据,当然用 MSSQL 是最方便的。在导入界面选择 Excel 即可。

但是作为一名红帽工程师,我的第一反应是另存为 Microsoft Excel 逗号分隔值文件 (.csv) 上传至服务器。

import pandas as pd
data=pd.read_csv('test.csv')
...

一顿操作无果后,再次打开了 Excel 表格以求灵感。

二、表格

微软有这样的一条函数:

=CONCATENATE("")

提示:"&D1&" 表示 D行1列表格;下图中在双引号外面又加了一层单引是因为SQL语法。

小技巧:下拉十字时双击小加号即可全部填充。

After upload to server.

cd PWD
mysql -uroot -pPASSWORD
show databases;
use DATABASE;
set names utf8;
show tables;
source TABLE.SQL
mysql -uroot -pPASSWORD -D DATABASE < TABLE.SQL
or
mysql -uroot -pPASSWORD DATABASE < TABLE.SQL

现在可以在服务器查看下成功没有。

三、MYSQL

其实不用 "二" 那么麻烦,直接把表格导出为 "txt"。再使用 mysqlimport 工具即可完成导入!

mysqlimport -uroot -pPASSWORD test --fields-terminated-by="," --columns 编号,姓名,昵称 --local test.txt -vv

-h mysql ip地址

-u 用户

-p 用户名密码

test 数据库名称

--fields-terminated-by 文件中字段之间的分隔符

--columns 要加载文件到表的字段名

--local :从本地客户端读入输入文件。

/home/rabbit/test.txt 文件在linux的本地路径

注意:文件名与表同名。

如果遇到中文字符显示为 "???" 请保存数据库文件后,尝试为数据库添加条指令如下

create table table_name () CHARACTER SET = utf8;

提示 "ERROR 1317 (70100): Query execution was interrupted"

是因为系统负载没下去,再执行一遍指令即可。

猜你喜欢

转载自www.cnblogs.com/itxdm/p/Import_Microsoft_Excel_to_MySQL.html
今日推荐