转:http://www.cnblogs.com/baochuan/archive/2012/05/27/2517721.html
可以单独写个SQL文件,然后用"mysql -uroot -proot -Dyouku < test.sql"解决。
修改下
有的人喜欢把mysql命令放到非PATH文件中,所以我建议把mysql以变量的形式执行。
控制输入
这个密码输入,我输入的时候如果旁边有人看,密码岂不丢失了,改成隐藏的方式吧
让代码更有层次感,首先想到的当然是函数。——函数归类。
#/bin/bash MYSQL="/usr/bin/mysql" input(){ #输用户名 echo "##### Please enter your username [enter=root] #####" read USERNAME if [ "$USENAME" = "" ]; then USERNAME="root" fi #输密码 echo "##### Please enter your password [enter=root] #####" stty -echo read PASSWORD if [ "$PASSWORD" = "" ]; then PASSWORD="root" fi stty echo #选择数据库 echo "##### Please select your database [enter=youku] #####" DBS="`$MYSQL -u$USERNAME -p$PASSWORD -hlocalhost --batch --skip-column-names -e 'show databases' | sed 's/ /%/g'`" select DB in $DBS; do break done #execute } execute(){ input $MYSQL -u$USERNAME -p$PASSWORD -D$DB < test.sql } insert(){ input INSERT_SQL="INSERT INTO t_user(username,password) VALUES" for i in $(seq 1 1000000) do INSERT_SQL="${INSERT_SQL}""('Chuan Shanjia$i',md5('Chuan shanjia$i'))," done echo ${INSERT_SQL:0:-1} $MYSQL -hlocalhost -u$USERNAME -p$PASSWORD -D$DB -e "${INSERT_SQL:0:-1}" } case "$1" in 'insert') clear insert ;; 'create') clear execute ;; *) echo "Usage:DbTool:insert or create!" ;; esac exit 0
运行方式
总结
如有问题,可以QQ搜索群1028468525加入群聊,欢迎一起研究技术
转载请注明:shell开发基础:准备100万条测试数据在MYSQL中 出自老鄢博客 | 欢迎分享