通过shell脚本批量操作mysql数据库

创建建表语句

  =============================================

  学生表:Student(Sno,Sname,Ssex,Sage,Sdept)

  ------(学号-主键,姓名,性别,年龄,所在系)

  =============================================

  create table student(

  Sno int(10) NOT NULL COMMENT ‘学号‘,

  Sname varchar(16) NOT NULL COMMENT ‘姓名‘,

  Ssex char(2) NOT NULL COMMENT ‘性别‘,

  Sage tinyint(2) NOT NULL default ‘0‘ COMMENT ‘学生年龄‘,

  Sdept varchar(16) default NULL COMMENT ‘学生所在系别‘,

  PRIMARY KEY (Sno)

  ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

批量插入数据脚本

  #!/bin/bash

  #create by oldboy 20110319

  #qq:31333741

  MysqlLogin="mysql -uroot -poldboy" #→定义登陆mysql的命令,方便下文使用

  #MysqlLogin="mysql -uroot -poldboy -S /data/3306/mysql.sock" #此行适合单机多实例数据库的方式

  i=1

  while true #→true表示永远为真

  do

  ${MysqlLogin} -e "insert into test.student values ("$i",‘oldboy"$i"‘,‘m‘,‘21‘,‘computer"$i"‘);"

  #${MysqlLogin} -e "insert into oldboy.student values ("$i",‘oldboy"$i"‘,‘m‘,‘21‘,‘computer"$i"‘);"

  #如果是多张表可以同时插入多张表,我这里给出的例子,是插入不同的记录,可以用于做各种小测试,比较适合各类初级不会mysql存储过程的运维人员。

  ((i++))

  sleep 2;

  done

原文地址:https://www.cnblogs.com/linuxprobe-sarah/p/11253265.html

时间: 2024-10-01 02:36:10

通过shell脚本批量操作mysql数据库的相关文章

使用shell脚本调用mysql数据库存储过程,并设置定时任务

本来是要mysql数据库中创建事件任务来,定时执行存储过程,做数据传输的...后来由于种种原因,就使用crontab来定时执行,调用存储过程. 实现这个数据传输分为两步: 第一步:编写shell脚本调用mysql数据库存储过程,如下: #!/bin/bash#0 1 * * * sh /home/drmTrans3/rj_proc.shhost1=127.0.0.1user=systempasswd=linuxport=3306mysql -h${host1} -u${user} -p${pas

通过shell脚本操作mysql数据库

在做一些日常的运维工作的时候,经常需要些一些shell脚本进行设备性能以及其它参数的监控.在过去的一年工作中,接触到的比较多的是对数据库中某些信息的监控. 于是就想到了用shell+mysql+crontab进行实现. 下面附上通过shell命令行非交互式的操作数据库的方法: mysql -hhostname -Pport -uusername -ppassword -e 相关mysql的sql语句,不用在mysql的提示符下运行mysql,即可以在shell中操作mysql的方法. #!/bi

shell脚本操作mysql数据库

使用 mysql -e 参数可以执行各种 sql 的各种操作语句.不用在mysql的提示符下运行mysql,即可以在shell中操作mysql的方法. 格式:mysql  -hhostname -Pport -uusername -ppassword  -e “”  #!/bin/bash HOSTNAME="192.168.111.84"                                           #数据库信息PORT="3306"USER

shell 脚本迁移mysql数据库中的表

作为写脚本的,这次的重点在于实现了类似于其他语言的logging模块的输出功能.感觉还是蛮有用的,简单直观. 输出log如下所示: 2017-03-31 16:26:57 --- INFO --- You choose the name of the table below: 2017-03-31 16:26:57 --- INFO --- 2016_06_24_record_base_log 2017-03-31 16:26:57 --- INFO --- 2016_06_16_record_

shell脚本操作mysql数据库,使用mysql的-e参数可以执行各种sql的(创建,删除,增,删,改、查)等各种操作

mysql  -hhostname -Pport -uusername -ppassword  -e  相关mysql的sql语句,不用在mysql的提示符下运行mysql,即可以在shell中操作mysql的方法. #!/bin/bash HOSTNAME="192.168.111.84" #数据库信息 PORT="3306" USERNAME="root" PASSWORD="" DBNAME="test_db_

Shell 脚本备份MySQL数据库

(1)思路 <1>安装MySQL数据库 <2>创建数据库,表,插入数据 <3>授权一个用于备份数据库的用户名和密码 <4>备份数据库的命令: mysqldump -u root -p 1234 -d MySQLDB > 1.sql <5>引入if语句实现备份全部数据库 <6>引入for循环语句,实现备份多个数据库 (2)实战案例 编写MySQL数据库备份脚本,可以实现备份任意数据库,输入A,就备份A库,输入B,就备份B库,输入C

shell 脚本获取MySQL数据库中所有表记录总数

近期遇到一个需求,Mysql数据库中需要统计所有表的记录数据:查了下资料可以调取information_schema数据表中数据获取所有表记录数据,但是查询出来的数据,发现和手动统计的记录数据不一致,information_schema查询出来的数据部分不准确[原因应该是部分表数据没有自动同步].折腾了下,于是还是自己手动写个脚本,分享下也做下次备用.程序结构:#!/bin/bash Author:Jerry tb_name=mysql -u账号 -p密码 -h192.168.x.x -P端口

linux shell脚本备份mysql数据库

#!/bin/sh # 备份数据库 # Mysql 用户名密码 MYSQL_USER=root MYSQL_PASS=root BACKUP_DIR=/data/backup/mysql DATA_DIR=/data/backup/dbdata # 查询mysql中所有数据库名字 SQL_STRING="SELECT SCHEMA_NAME AS db FROM information_schema.SCHEMATA WHERE SCHEMA_NAME NOT IN ('mysql', 'inf

shell 脚本连接mysql数据库查询database中表的数量和表名

#!/bin/bash MYSQLHOST="127.0.0.1" MYSQLUSER="root" MYSQLPWD="root" MYSQLPORT="3306" MYSQLDB="test" echo "health tables total:" > mysqlCount.txt; mysql -h$MYSQLHOST -u$MYSQLUSER -p$MYSQLPWD -P$