mysql批量导入数据库_Mysql大批量导入数据库

博主通过自己的方法导入大批量数据,接着换一种方法实现更快速的数据导入。

这里使用云服务器上的mysql数据库进行演示。

准备工具:

【Navicat下载地址:https://pan.baidu.com/s/1dF7nt6p】数据库图形操作界面,需要云数据库的帐号密码才能连接;

【secureCRT下载地址:https://pan.baidu.com/s/1hs2x2T2】连接Linux系统,可以便捷复制粘贴命令;

【winSCP下载地址:http://pan.baidu.com/s/1c9vvie】向linux系统传输文件,在windows与linux之间自由穿梭~;

场景:最近入手一个小项目,其中有一个FilmName. txt 文件,里面有4000多条数据,每一条数据是一部电影名字,需要全部插入数据库,

博主马上想到了使用一个for循环,写了一个java程序把所有数据插入数据库(数据库插入,要先准备好JDBC驱动,帐号,密码的配置信息)。

①可以达到目的,但是不太聪明的做法:

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.sql.Connection;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.Scanner;

public class test {

public static void InsertIntoDataBase(){

Connection conn = JdbcConfigInfo.getConnection();

try {

Statement stmt = conn.createStatement();

Scanner scanner = new Scanner(new FileInputStream(new File("src/FilmName.txt")));

int i = 0;

while(scanner.hasNextLine()){

stmt.execute("insert into movie(m_name)values('"+scanner.nextLine()+"')");

System.out.println("插入第:"+(i++)+"条");

}

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public static void main(String[] args) {

InsertIntoDataBase();

}

}

共插入4千多条数据:

0818b9ca8b590ca3270a3433284dd417.png

使用Navicat 图形工具打开mysql数据库查看:

0818b9ca8b590ca3270a3433284dd417.png

②可以达到目的,非常快捷的方法:

使用SecureCRT连接到云服务器的Linux系统,用winscp把文件放到云服务器的【/data】目录下

0818b9ca8b590ca3270a3433284dd417.png

登进mysql数据库→使用my_avi数据库→展示数据表→执行sql导入语句

命令含义:【load data infile '文件所在路径' into table 表明(字段);】

mysql> load data infile '/data/FilmName.txt' into table movieInsert(m_name);

注意:本次只插入一个m_name字段,id并没有指定,所以由数据库系统决定从哪开始插入,可能并不是从1开始插入。

0818b9ca8b590ca3270a3433284dd417.png

提示执行成功,使用Navicat查看movieInsert数据表:因为没有指定id从1开始插入,id的值自动分配,但也是按顺序插入的

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

当遇上几十上百M的 txt 的文件时,就可以使用此方法快速插入数据库,瞬间完成插入。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值