一、创建数据库及表
建立数据库
1
<code>create database dic character set utf8;</code>
建表
2
3
4
5
6
7
8
9
10
11
<code>CREATE TABLE `dic` (</code>
<code> </code><code>`id` int(22) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',</code>
<code> </code><code>`principal` varchar(213) CHARACTER SET utf8 NOT NULL COMMENT '负责人',</code>
<code> </code><code>`use` varchar(222) CHARACTER SET utf8 NOT NULL COMMENT '用途',</code>
<code> </code><code>`type` varchar(222) CHARACTER SET utf8 NOT NULL COMMENT '机器类型',</code>
<code> </code><code>`model` varchar(222) CHARACTER SET utf8 NOT NULL COMMENT '机器型号',</code>
<code> </code><code>`place` varchar(222) CHARACTER SET utf8 NOT NULL COMMENT '位置',</code>
<code> </code><code>`IP` varchar(222) CHARACTER SET utf8 NOT NULL COMMENT 'IP',</code>
<code> </code><code>`addtime` datetime NOT NULL COMMENT '时间',</code>
<code> </code><code>PRIMARY KEY (`id`)</code>
<code>) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8;</code>
二、编写相关脚本
注意事项
mysql -u用户名 -p密码 -e "命令;" 多命令都写在双引号里面,通过分号分割。
INSERT INTO `表名` (`字段`,`字段`) VALUES (值,值);
以下两个脚本都可以实现
<code>#!/bin/bash</code>
<code>read -p </code><code>"please enter you mysql password:"</code> <code>passwd</code>
<code>TABLE=</code><code>"dic"</code>
<code>query=</code><code>"NULL,'张伟易','新dns服务器1','实体机','DELL R410','14层A5','10.240.210.61','2015-06-06 13:04:09'"</code>
<code>echo</code> <code>$query</code>
<code>/usr/bin/mysql dic -u root -p</code><code>$passwd</code> <code><<EOF</code>
<code>INSERT INTO </code><code>$TABLE</code> <code>VALUE(</code><code>$query</code><code>);</code>
<code>#EOF</code>
<code>read -p "please enter you mysql password:" passwd</code>
<code>TABLE="dic"</code>
<code>query="NULL,'张伟易','新dns服务器1','实体机','DELL R410','14层A5','10.240.210.61','2015-06-06 13:04:09'"</code>
<code>echo $query</code>
<code>/usr/bin/mysql dic -u root -p$passwd -e "INSERT INTO $TABLE VALUE($query);"</code>
<a href="http://s3.51cto.com/wyfs02/M01/6E/0A/wKioL1VykizyyFU1AAMBmkc9fpI850.jpg" target="_blank"></a>
此外,还可以通过将普通文本格式化输出后导入到数据库中
这里以test1作为示例
<code>[root@daohang lxh]# cat test1</code>
<code>小明 新服务器1 实体机 DELL R410 14层A5 10.240.210.61</code>
脚本如下
12
13
14
15
16
17
18
19
20
21
<code>>test_new</code>
<code>MYSQL=/usr/bin/mysql</code>
<code>TIME=`date +%F\ %T`</code>
<code>P="\e[01;35m"</code>
<code>#sed "s/\(^.*$\)/\1,$TIME/" test >> test_new##在每行行尾添加时间</code>
<code>cat test1 | sed 's/^/NULL\t/g' |sed 's/\t/,/g' |sed "s/\(^.*$\)/\1,$TIME/" >>test_new</code>
<code>cat test_new |while read line</code>
<code>#echo "$TIME" >>mysql_err_log</code>
<code>do</code>
<code>echo $line</code>
<code>query=`echo "$line" |awk -F "," '{ printf("%s,\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\"", $1, $2, $3, $4, $5, $6, $7 , $8)}'`</code>
<code>echo $query 1>>mysql_err_log 2>&1</code>
<code>$MYSQL dic -u root -p$passwd <<EOF</code>
<code>INSERT INTO $TABLE VALUES($query);</code>
<code>EOF</code>
<code>done</code>
<code>#echo -e " $P***********************$TIME**********************************" >>mysql_err_log</code>
执行脚本
<code>[root@daohang lxh]# sh mysqltest.sh</code>
<code>NULL,小明,新服务器1,实体机,DELL R410,14层A5,10.240.210.61,2015-06-06 14:26:07</code>
<code>NULL,"小明","新服务器1","实体机","DELL R410","14层A5","10.240.210.61","2015-06-06 14:26:07"</code>
插入成功
<a href="http://s3.51cto.com/wyfs02/M00/6E/0B/wKioL1VynFizALA3AAPIAsLuMl0934.jpg" target="_blank"></a>
本文转自 xoyabc 51CTO博客,原文链接:http://blog.51cto.com/xoyabc/1659178,如需转载请自行联系原作者