MySQL大批量插入数据

基础语法操作

可以执行如下指令,将数据脚本文件中的数据加载到表结构中:

-- 客户端连接服务端时,加上参数  -–local-infile
mysql --local-infile  -u  root  -p
-- 设置全局参数local_infile为1,开启从本地加载文件导入数据的开关
set  global  local_infile = 1;
-- 执行load指令将准备好的数据,加载到表结构中
load  data  local  infile  
'/root/sql1.log'  
into  table  tb_user 
fields  terminated  by  ','  
lines  terminated  by  '\n' ;
指令/参数描述
mysql启动MySQL客户端的命令,用于连接到MySQL服务器。
--local-infile允许客户端使用 LOAD DATA LOCAL 语句加载本地文件到服务器上的数据库表中。
-u root指定登录MySQL的用户名为 root
-p指示登录时需要密码,执行命令后系统将提示输入密码。
set global local_infile = 1;在MySQL服务器上设置全局系统变量 local_infile 的值为 1,开启从本地文件加载数据的功能。
load data local infileSQL命令,用于将本地文件数据加载到数据库表中。
'/root/sql1.log'指定要加载的本地文件路径和文件名。
into table tb_user指定数据将要加载到的目标表 tb_user
fields terminated by ','定义字段分隔符,这里使用逗号 ,
lines terminated by '\n'定义记录分隔符,这里使用换行符 \n

案例

下面是一个具体的操作例子,通过这个步骤,你可以在你的电脑上实验将本地文件导入到MySQL数据库中。请确保你已经在电脑上安装了MySQL服务器,并且有权限执行下面的操作。

步骤 1: 准备数据文件

首先,你需要一个文本文件来作为导入数据库的数据源。比如,创建一个名为 userdata.txt 的文件,内容如下(假设每行记录包含用户名和邮箱,用逗号分隔):

alice,alice@example.com
bob,bob@example.com
carol,carol@example.com

保存该文件到你方便访问的位置,比如 /home/username/userdata.txt(Linux系统)或 C:\userdata.txt(Windows系统)。请根据你的操作系统和喜好调整文件路径。

步骤 2: 创建数据库和表

接下来,在MySQL中创建一个数据库和表来存储这些数据。使用以下命令:

CREATE DATABASE IF NOT EXISTS test_db;
USE test_db;

CREATE TABLE IF NOT EXISTS users (
    username VARCHAR(255),
    email VARCHAR(255)
);

步骤 3: 启用本地文件导入功能

为了从客户端导入本地文件,需要确保MySQL服务器允许这项操作。这通常需要设置 local_infile 为1。你可以在MySQL的配置文件中永久设置这个选项,或者临时通过以下命令启用:

SET GLOBAL local_infile = 1;

步骤 4: 导入数据

现在,你可以使用 LOAD DATA LOCAL INFILE 命令导入本地文件了。打开命令行或终端,连接到MySQL服务器:

mysql --local-infile -u root -p test_db

然后执行以下命令导入数据:

LOAD DATA LOCAL INFILE '/path/to/your/userdata.txt'
INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
(username, email);

请将 /path/to/your/userdata.txt 替换为你的实际文件路径。

完成这些步骤后,users 表中应该包含了 userdata.txt 文件中的数据。你可以通过以下命令检查数据是否成功导入:

SELECT * FROM users;
  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值