简述

有时候需要往 MySQL 中导入一些 Excel 数据,下面来看看怎么操作吧!

桌面处理

打开 excel 表格–>另存为–>选择格式 (CSV 逗号分割)—>保存文件

文件名 :test.csv

转换字符集

mac 使用文本编辑打开:

  1. 右键点击文件
  2. 选择(打开方式)
  3. 选择(文本编辑)
  4. 左上角选择(文件)
  5. 选择(复制)
  6. 不要保存点击文本
  7. command + s 保存
  8. 纯文本编码选择 utf-8
  9. 保存即可

windows 使用记事本(Notepad):

  1. 打开记事本。
  2. 在记事本中打开要转换的文件。
  3. 选择 “文件” 菜单 -> “另存为”。
  4. 在 “编码” 下拉菜单中选择所需的字符集(例如 UTF-8)。
  5. 保存文件。

导入数据

  1. 登录 MySQL

  2. 检查配置

# 查看 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;
+---------------+-------+
  1. 上传文件到mysql 服务器 的指定目录 /var/lib/mysql-files/

  2. 登录 MySQL 并创建表

create table test(
id int ,
name varchar(11),
age int
);
  1. 导入数据
LOAD DATA INFILE '/var/lib/mysql-files/test.csv'  -- 导入的文件位置
INTO TABLE test           -- 导入的表名 
FIELDS TERMINATED BY ','  -- 指定字段之间的分隔符
ignore 1 lines;           -- 跳过 CSV 文件开头的标题行即第一行(如果有的话)
  1. 检查是否导入成功
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)
01-30 09:59