简述
有时候需要往 MySQL 中导入一些 Excel 数据,下面来看看怎么操作吧!
桌面处理
打开 excel 表格–>另存为–>选择格式 (CSV 逗号分割)—>保存文件
文件名 :test.csv
转换字符集
mac 使用文本编辑打开:
- 右键点击文件
- 选择(打开方式)
- 选择(文本编辑)
- 左上角选择(文件)
- 选择(复制)
- 不要保存点击文本
- command + s 保存
- 纯文本编码选择 utf-8
- 保存即可
windows 使用记事本(Notepad):
- 打开记事本。
- 在记事本中打开要转换的文件。
- 选择 “文件” 菜单 -> “另存为”。
- 在 “编码” 下拉菜单中选择所需的字符集(例如 UTF-8)。
- 保存文件。
导入数据
- 登录 MySQL
- 检查配置
# 查看 MySQL 是否开启安全目录 mysql> show global variables like 'secure_file_priv'; +------------------+-----------------------+ | Variable_name | Value | +------------------+-----------------------+ | secure_file_priv | /var/lib/mysql-files/ | # 如果设置了路径,只能将文件拷贝到这个目录才能导入 +------------------+-----------------------+ # 查看 MySQL 是否开启本地文件上传 mysql> show global variables like 'local_infile'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | local_infile | OFF | # 关闭时需要开启这个参数 SET GLOBAL local_infile = 1; +---------------+-------+
- 上传文件到mysql 服务器 的指定目录 /var/lib/mysql-files/
- 登录 MySQL 并创建表
create table test( id int , name varchar(11), age int );
- 导入数据
LOAD DATA INFILE '/var/lib/mysql-files/test.csv' -- 导入的文件位置 INTO TABLE test -- 导入的表名 FIELDS TERMINATED BY ',' -- 指定字段之间的分隔符 ignore 1 lines; -- 跳过 CSV 文件开头的标题行即第一行(如果有的话)
- 检查是否导入成功
mysql> select * from test; +------+-------+------+ | id | name | age | +------+-------+------+ | 1 | test1 | 12 | | 2 | test2 | 13 | | 3 | test3 | 14 | | 4 | test4 | 15 | | 5 | test5 | 16 | +------+-------+------+ 5 rows in set (0.00 sec)