"#!/bin/bash\n\n# 数据库连接信息\nDB_HOST="localhost"\nDB_PORT="54321"\nDB_NAME="your_database_name"\nDB_USER="your_username"\nDB_PASSWORD="your_password"\n\n# 数据插入循环次数\nINSERT_LOOP=100\n\n# 每次插入的数据量\nBATCH_SIZE=1000\n\n# 循环插入数据\nfor ((i=1; i<=$INSERT_LOOP; i++))\ndo\n # 生成插入数据的SQL语句\n SQL="INSERT INTO your_table_name (column1, column2, column3) VALUES"\n for ((j=1; j<=$BATCH_SIZE; j++))\ndo\n # 生成随机数据\n value1=$(shuf -i 1-1000 -n 1)\n value2=$(shuf -i 1-1000 -n 1)\n value3=$(shuf -i 1-1000 -n 1)\n # 拼接SQL语句\n SQL="$SQL ($value1, $value2, $value3),"\n done\n # 去除最后一个逗号\n SQL=${SQL%,}\n \n # 使用psql命令执行SQL语句\n psql -h $DB_HOST -p $DB_PORT -d $DB_NAME -U $DB_USER -c "$SQL"\n \n echo "Inserted $BATCH_SIZE records into the database. Loop: $i"\ndone\n\necho "Data insertion completed."\n\n注意替换脚本中的以下变量值:\n\n- DB_HOST:数据库主机名或IP地址\n- DB_PORT:数据库端口号\n- DB_NAME:数据库名称\n- DB_USER:数据库用户名\n- DB_PASSWORD:数据库密码\n- INSERT_LOOP:插入循环次数,即总共要插入的数据量除以每次插入的数据量\n- BATCH_SIZE:每次插入的数据量\n- your_table_name:要插入数据的表名\n- column1, column2, column3:要插入数据的列名\n\n保存脚本为insert_data.sh,然后在终端中执行bash insert_data.sh即可开始插入数据。

Kingbase 数据库大数据批量插入 Shell 脚本

原文地址: https://www.cveoy.top/t/topic/p24T 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录