mysql 如何录入数据

mysql 如何录入数据,第1张

如何导入.sql文件到mysql中

首先:建立数据库,用这个命令:create

database

dbname

其中dbname是数据库名称

C:\mysql\bin>mysql

-u

用户名

-p

数据库名

mysql

-u

root

-p

myrosz

<

c:/myro.sql

Enter

password:

****

稍等一会,就可以导入数据表。

//最快的方法 10000记录 23MS

public static void insert() {  

        // 开时时间  

        Long begin = new Date().getTime()  

        // sql前缀  

        String prefix = "INSERT INTO tb_big_data (count, create_time, random) VALUES "  

        try {  

            // 保存sql后缀  

            StringBuffer suffix = new StringBuffer()  

            // 设置事务为非自动提交  

            conn.setAutoCommit(false)  

            // Statement st = conn.createStatement()  

            // 比起st,pst会更好些  

            PreparedStatement pst = conn.prepareStatement("")  

            // 外层循环,总提交事务次数  

            for (int i = 1 i <= 100 i++) {  

                // 第次提交步长  

                for (int j = 1 j <= 10000 j++) {  

                    // 构建sql后缀  

                    suffix.append("(" + j * i + ", SYSDATE(), " + i * j  

                            * Math.random() + "),")  

                }  

                // 构建完整sql  

                String sql = prefix + suffix.substring(0, suffix.length() - 1)  

                // 添加执行sql  

                pst.addBatch(sql)  

                // 执行 *** 作  

                pst.executeBatch()  

                // 提交事务  

                conn.commit()  

                // 清空上一次添加的数据  

                suffix = new StringBuffer()  

            }  

            // 头等连接  

            pst.close()  

            conn.close()  

        } catch (SQLException e) {  

            e.printStackTrace()  

        }  

        // 结束时间  

        Long end = new Date().getTime()  

        // 耗时  

        System.out.println("cast : " + (end - begin) / 1000 + " ms")  

    }

用shell脚本通过while循环批量生成mysql测试数据的方法。

1、很多时候需要在mysql表中插入大量测试数据,下面分享一个用shell脚本通过while循环批量生成mysql测试数据的方法,你只需要根据你自己的表结构来生成sql语句即可。

复制代码代码如下:

#!/bin/bash

i=1

MAX_INSERT_ROW_COUNT=$1

while [ $i -le $MAX_INSERT_ROW_COUNT ]

do

mysql -uroot -proot afs -e "insert into afs_test (name,age,createTime) values ('HELLO$i',$i % 99,NOW())"

d=$(date +%M-%d\ %H\:%m\:%S)

echo "INSERT HELLO $i @@ $d"

i=$(($i+1))

sleep 0.05

done

exit 0

2、假定上面的shell脚本保存为create-data.sh,可以通过下面的命令来生成数据:

复制代码代码如下:sh create-data.sh 10000。(参数10000是要生成的数据条数。)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6160679.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-16
下一篇 2023-03-16

发表评论

登录后才能评论

评论列表(0条)

保存