介绍
在 MySQL 中导入数据的方法主要取决于数据的格式,最常见的是导入 .sql 脚本文件,也可以导入 CSV 等格式的数据。
根据数据格式选择合适的导入方式:
- SQL 脚本适合完整还原数据库
- CSV 适合批量导入纯数据
导入 SQL 脚本文件
适用于导入通过 mysqldump 导出的 .sql 文件,包含表结构和数据。
使用 mysql 命令行工具
方式一
# 基本语法
mysql -u 用户名 -p 数据库名 < 导入文件名.sql
示例:
# 导入到已存在的数据库 mydatabase
mysql -u root -p mydatabase < mydatabase_backup.sql
执行后输入密码,即可开始导入。
方式二
# 登录 MySQL
mysql -u 用户名 -p
# 切换到目标数据库(需先创建数据库)
use 数据库名;
# 执行导入
source /路径/到/导入文件.sql;
导入 CSV/文本文件
适合导入纯数据(通常需要先创建好表结构)。
使用 LOAD DATA INFILE 命令
-- 登录 MySQL 后执行
LOAD DATA INFILE '/路径/到/数据.csv'
INTO TABLE 表名
FIELDS TERMINATED BY ',' -- 字段分隔符(CSV 通常是逗号)
OPTIONALLY ENCLOSED BY '"' -- 字段包裹符
LINES TERMINATED BY '\n' -- 行分隔符
IGNORE 1 ROWS; -- 忽略表头行(如果有)
通过 mysqlimport 命令行工具
mysqlimport -u 用户名 -p --fields-terminated-by=',' --lines-terminated-by='\n' 数据库名 /路径/到/数据.csv
图形化工具导入
以 Navicat 为例:
- 连接数据库,进入目标数据库
- 右键点击数据库 → “运行 SQL 文件”(导入
.sql) - 或选择具体表 → “导入向导”(导入 CSV/Excel 等格式)
注意
- 导入前确保目标数据库已存在(可通过
CREATE DATABASE 数据库名;创建) - 导入大文件时可能需要调整 MySQL 配置(如
max_allowed_packet) - 导入 CSV 时,需保证数据格式与表结构字段顺序一致
- 权限问题:确保数据库用户有足够的权限(如
INSERT、CREATE等)