一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

Linux shell操作mysql数据库详解

时间:2013-10-12 编辑:简简单单 来源:一聚教程网

在shell开发中,很多时候我们需要操作mysql数据库(比如:查询数据、导出数据等),但是我们又无法进入mysql命令行的环境,就需要在shell环境中模拟mysql的环境,使用mysql相关命令,本文总结几种shell操作mysql的方法,供大家参考。

方案1

 代码如下 复制代码

mysql -uuser -ppasswd -e "insert user values(...)"

优点:语句简单
缺点:支持的sql相对简单

方案2

新建一个shell脚本,格式如下:

 代码如下 复制代码

#!/bin/bash
mysql -u* -h* -p* <     Your SQL script.
EOF

例如:

 代码如下 复制代码

#!/bin/bash
mysql -uroot  -ppassword <    use chbdb;
   CREATE TABLE user (
  id varchar(36) NOT NULL,
  username varchar(50) NOT NULL,
  password varchar(50) NOT NULL,
  createdate date NOT NULL,
  age int(11) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
EOF

缺点:

1> 表名、字段不能使用单引号,需要修改原有sql语句

方案3

准备一个sql脚本,如update.sql,然后执行如下命令:

 代码如下 复制代码

mysql -uroot -ppassword < update.sql

方案4,更新数据库

 代码如下 复制代码

#shell mysql

****************************************

#!/bin/bash

olname=erik ##旧值,也就是要替换掉的值

nwname=erik ##新值,也就是要替换为的值

domain=@set-china.net ##后缀,此处是用来操作邮件的,其它用途可以不要或替换成其它

mysql -u root -p password <

##操作数据库的开始,此处输入用户名及密码,<

##<

use extmail;

show tables;

update alias set goto=REPLACE(goto,'$olname','$nwname$domain');

EOF

exit 0;

****************************************

##语句少的情况下可以如下使用

#!/bin/bash

mysql -u root -p password -e "use mysql;select * from user(SQL语句)";

exit 0;

热门栏目