zoukankan      html  css  js  c++  java
  • (转载)MySQl数据库-批量添加数据的两种方法

    方法一:使用excel表格
    方法二:使用insert语句(FileWriter批量写入)


    使用excel表格

    1.打开数据表,按照表的字段在excel中添加数据。注意:表中字段名必须和excel中的名称一致。
    这里写图片描述

    这里写图片描述

    2.打开navicat,在表结构处右键选择“导入向导”,选择excel文件,找到excel文件所在的位置。注意:一个excel表格里可以有多个sheet,所以如果全选中的话,可以一次性分别导入多个数据表,但是一定要保证字段名不要错,否则导入的时候会显示错误。
    这里写图片描述
    这里写图片描述

    3.选择下一步,到设置附加选项时,“栏位名称”是excel中字段的那一行,“第一个数据行”是数据开始的那一行。
    这里写图片描述

    4.下一步,选择“开始”,执行之后,选择“关闭”。
    这里写图片描述

    5.在数据表中刷新,发现数据就都导进来了。
    这里写图片描述

    使用insert语句(FileWriter批量写入)

    定义一个写语句到文件的方法,在for循环里面定义自己需要的格式。在这里笔者想让时间变化,于是写了一个让时间减一的方法,其实在这张表里时间无所谓,但是在文章开头笔者有提到,当需要添加一年的数据时,或者某一段时间的每一天都要添加时,就有必要定义这个方法了。

    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.sql.Date;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    
    public class UserTest {
        public static void main(String[] args) {
            try {
                writeToFile();
                //readFromFile();
            } catch (IOException e) {
                e.printStackTrace();
            }
    
        }
    
        /**
         * DOC 往文件里写入数据.
         * 
         * @throws IOException
         */
        private static void writeToFile() throws IOException {
            String writerContent = "";// 要写入的文本
            File file = new File("F:\user.txt");// 要写入的文本文件
            if (!file.exists()) {// 如果文件不存在,则创建该文件
                file.createNewFile();
            }
            FileWriter writer = new FileWriter(file);// 获取该文件的输出流
            for (int i = 0 ;i < 10; i ++ ) {
                writerContent = "insert into `user` VALUES ("+"'"+(i + 1)+"'," +"yystrong"+i+"',"+"'111',"
                        +"'"+calcTime("", -(i+1))+"'"+"'0',"+"'0',"+"'"+calcTime("", -(i+1))+"'"
                        + "
    ";
                writer.write(writerContent);// 写内容
            }
            writer.flush();// 清空缓冲区,立即将输出流里的内容写到文件里
            writer.close();// 关闭输出流,施放资源
        }
    
        /**
         * 
         * @param type 往前计算的类型(week、month、year,“”表示day
         * @param count 往前计算的数量
         * @return
         */
        private static String calcTime(String type ,int count){
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Calendar calendar = Calendar.getInstance();
            if (type .equals("week")) {
                //周
                calendar.add(Calendar.WEEK_OF_YEAR, count);
            }else if (type .equals("month")) {
                //月
                calendar.add(Calendar.MONTH, count);
            }else if (type .equals("year")) {
                //12个月
                calendar.add(Calendar.MONTH, count);
            }else {
                //日
                calendar.add(Calendar.DATE, count);
            }
            java.util.Date date = calendar.getTime();
            return sdf.format(date);
    
        }
    
    }
    

    执行之后,在f盘的根目录下就会创建一个user.txt的文件夹,里面有insert语句,然后在navicat里面选择ctrl+q打开执行框,复制进去之后选择运行,同样可以导入数据。
    这里写图片描述

    ---------------------
    作者:YYstrong
    来源:CSDN
    原文:https://blog.csdn.net/YYstrong/article/details/76335893

  • 相关阅读:
    C#设置窗体最大化且不遮挡任务栏的方法
    C# Base64解码 二进制输出
    导出Excel并下载,但无法定制样式的方法!
    C# List 转Datatable
    查询sql语句耗时的方法!
    301跳转
    文章关键字加链接
    文本框样式默认文本
    JForum二次开发(一)
    MongoDB 学习笔记(三)—— 修改器的使用
  • 原文地址:https://www.cnblogs.com/vuciao/p/10586766.html
Copyright © 2011-2022 走看看