mysql下通过shell脚本插入数据

一、创建数据库及表

建立数据库

create database dic character set utf8;

建表

CREATE TABLE `dic` (
  `id` int(22) unsigned NOT NULL AUTO_INCREMENT COMMENT ‘id‘,
  `principal` varchar(213) CHARACTER SET utf8 NOT NULL COMMENT ‘负责人‘,
  `use` varchar(222) CHARACTER SET utf8 NOT NULL COMMENT ‘用途‘,
  `type` varchar(222) CHARACTER SET utf8 NOT NULL COMMENT ‘机器类型‘,
  `model` varchar(222) CHARACTER SET utf8 NOT NULL COMMENT ‘机器型号‘,
  `place` varchar(222) CHARACTER SET utf8 NOT NULL COMMENT ‘位置‘,
  `IP` varchar(222) CHARACTER SET utf8 NOT NULL COMMENT ‘IP‘,
  `addtime` datetime NOT NULL COMMENT ‘时间‘,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8;

二、编写相关脚本

注意事项

mysql -u用户名 -p密码 -e "命令;"  多命令都写在双引号里面,通过分号分割。
INSERT INTO `表名` (`字段`,`字段`) VALUES (值,值);

以下两个脚本都可以实现

#!/bin/bash
read -p "please enter you mysql password:" passwd
TABLE="dic"
query="NULL,‘张伟易‘,‘新dns服务器1‘,‘实体机‘,‘DELL R410‘,‘14层A5‘,‘10.240.210.61‘,‘2015-06-06 13:04:09‘"
echo $query
/usr/bin/mysql dic -u root -p$passwd <<EOF
INSERT INTO $TABLE VALUE($query);
#EOF
#!/bin/bash
read -p "please enter you mysql password:" passwd
TABLE="dic"
query="NULL,‘张伟易‘,‘新dns服务器1‘,‘实体机‘,‘DELL R410‘,‘14层A5‘,‘10.240.210.61‘,‘2015-06-06 13:04:09‘"
echo $query
/usr/bin/mysql dic -u root -p$passwd -e "INSERT INTO $TABLE VALUE($query);"

此外,还可以通过将普通文本格式化输出后导入到数据库中

这里以test1作为示例

[[email protected] lxh]# cat test1
小明    新服务器1    实体机    DELL R410    14层A5    10.240.210.61

脚本如下

#!/bin/bash
>test_new
read -p "please enter you mysql password:" passwd
MYSQL=/usr/bin/mysql
TABLE="dic"
TIME=`date +%F\ %T`
P="\e[01;35m"
#sed "s/\(^.*$\)/\1,$TIME/" test >> test_new##在每行行尾添加时间
cat test1 | sed ‘s/^/NULL\t/g‘ |sed ‘s/\t/,/g‘ |sed "s/\(^.*$\)/\1,$TIME/" >>test_new
cat test_new |while read line
#echo "$TIME" >>mysql_err_log
do
echo $line
query=`echo "$line" |awk -F ","  ‘{ printf("%s,\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\"", $1, $2, $3, $4, $5, $6, $7 , $8)}‘`
echo $query 1>>mysql_err_log 2>&1
echo $query
$MYSQL dic -u root -p$passwd  <<EOF
INSERT INTO $TABLE VALUES($query);
EOF
done
#echo -e " $P***********************$TIME**********************************" >>mysql_err_log

执行脚本

[[email protected] lxh]# sh mysqltest.sh
NULL,小明,新服务器1,实体机,DELL R410,14层A5,10.240.210.61,2015-06-06 14:26:07
NULL,"小明","新服务器1","实体机","DELL R410","14层A5","10.240.210.61","2015-06-06 14:26:07"

插入成功

时间: 2024-08-23 21:24:06

mysql下通过shell脚本插入数据的相关文章

Linux下定时备份MySQL数据库的Shell脚本

Linux下定时备份MySQL数据库的Shell脚本 对任何一个已经上线的网站站点来说,数据备份都是必须的.无论版本更新还是服务器迁移,备份数据的重要性不言而喻.人工备份数据的方式不单耗费大量时间和精力,还灰常不专业的说.于是,有了下面这段脚本的出现.参考了网上的很多教程,外加自己的测试,以下脚本经测试可用.#!/bin/bash#Shell Command For Backup MySQL Database Everyday Automatically By Crontab#Author :

Linux下的shell脚本编程-变量-算术表达式-判断语句-if分支语句

Linux下的shell脚本编程-变量-算术表达式-判断语句-if分支语句 一:实验环境 1):虚拟机 2):linux系统 二:实验目标 1): shell 基本语法 2):变量 3):表达式 4):判断语句 5): if表达式 三:实验脚本 第一块 一个简单的shell脚本程序 [[email protected] ~]# mkdir test [[email protected] test]# vim example1.sh #!/bin/bash #This is to show wha

Linux下添加shell脚本使得nginx日志每天定时切割压缩

Linux下添加shell脚本使得nginx日志每天定时切割压缩一 简介 对于nginx的日志文件,特别是access日志,如果我们不做任何处理的话,最后这个文件将会变得非常庞大 这时,无论是出现异常时查日志,还是使用"GoAccess"等工具对日志进行分析都将会变得非常麻烦.因此,每天定时对nginx日志进行切割压缩就非常有必要了 二 实现 我的实现思路是每天晚上接近12点时定时执行脚本.其脚本内容就是将当前的nginx日志先按照当天日期进行重命名接着进行压缩,最后是新建空白的ngi

MySQL主从复制监控shell脚本

########本脚本应用在生产环境中,是运用mysql主从的基础上######## vi mysqlm-s.sh   #!/bin/bash  ip=`ifconfig eth0|sed -n 2p|awk  '{ print $2 }'|awk -F : '{ print $2 }'`  port=`netstat -anl|grep 3306 |sed -n '1p' |awk '{print $4}'|awk -F: '{ print $2}'`  array=($(mysql -uUS

Linux C 调用MYSQL API 函数mysql_escape_string()转义插入数据

Title:Linux C 调用MYSQL API 函数mysql_escape_string()转义插入数据 --2013-10-11 11:57 #include <stdio.h> #include <string.h> #include <stdlib.h> #include "mysql.h" int main(int argc, char *argv[]) { MYSQL my_connection; int res; mysql_ini

mysql下怎样运行脚本

假设要运行脚本: F:\hello world\niuzi.sql 第一种方法:        在命令行下(未连接数据库),输入 mysql -h localhost -u root  -p < F:\hello world\niuzi.sql (注意路径不用加引号的!!). 第二种方法:        在命令行下(已连接数据库,此时的提示符为 mysql> ),输入 source  F:\hello world\niuzi.sql (注意路径不用加引号的) 或者 \. F:\hello wo

eclipse下搭建shell脚本编辑器--安装开发shell的eclipse插件shelled

eclipse下搭建shell脚本编辑器--安装开发shell的eclipse插件shelled 1.安装"man-page viewer"插件(ShellEd需要,有的机器不需要,先装上) 安装地址:http://download.eclipse.org/technology/linuxtools/updates-nightly/ 2.安装"shelled"插件 在http://sourceforge.net/projects/shelled/files/late

2019.11.13课堂实验之用Linux下的shell脚本完成两文本交替输出

有两个文本如下,实际中并不知道两文本各有多少行: 文本1.txt aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ccccccccccccccccccccccccccccccccccccccc eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ggggggggggggggggggggggggggggggggggggggg wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww zzzzzzzzzzzzzzzzz

linux下用shell脚本删除mysql记录ssc源码搭建

mysql下删除记录较多的ssc源码搭建会出现如下错误:企 娥:217 1793 408 Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed. 因此需要分批删除表中数据,脚本如下: #!/bin/bashDB_USER="root"DB_PASS="pw"DB_HOS