下午写了一个简单的 bash 脚本,用来测试程序,输入一个测试用例文件,输出没有通过测试的用例和结果,然后把结果保存到数据库里。如何在 bash 脚本里直接访问数据库呢?既然在 shell 里可以直接用 mysql 命令操作数据库,那么在 shell script 里也应该可以通过调用 mysql 来操作数据库。比如用下面的 bash shell 脚本查询数据库:

Bash

#!/bin/bash

mysql -uvpsee -ppassword test << EOFMYSQL
select * from test_mark;
EOFMYSQL

如果需要复杂的数据库操作的话不建议用 shell 脚本,用 Perl/Python/PHP 操作数据库很方便,分别通过 Perl DBI/Python MySQLdb/PHP MySQL Module 接口来操作数据库。这里再给出这三种不同语言连接、查询数据库的简单例子(为了简单和减少篇幅删除一些不必要的代码):

Perl

#!/usr/bin/perl
use DBI;

$db = DBI->connect('dbi:mysql:test', 'vpsee', 'password');
$query = "select * from test_mark";
$cursor = $db->prepare($query);
$cursor->execute;
while (@row = $cursor->fetchrow_array) {
print "@row\n";
}

Python

#!/usr/bin/python
import MySQLdb

db = MySQLdb.Connect("localhost", "vpsee", "password", "test")
cursor = db.cursor()
query = "SELECT * FROM test_mark"
cursor.execute(query)
while (1):
row = cursor.fetchone()
if row == None:
break
print "%s, %s, %s, %s" % (row[0], row[1], row[2], row[3])

PHP

#!/usr/bin/php

?php
$db = mysql_connect("localhost", "vpsee", "password");
mysql_select_db("test");
$result = mysql_query("SELECT * FROM test_mark");
while ($row = mysql_fetch_array($result)) {
print "$row[0] $row[1] $row[2] $row[3]\n";
}
?>

转载于:https://www.cnblogs.com/nwf5d/archive/2011/03/10/1979569.html

用 Shell 脚本访问 MySQL 数据库相关推荐

  1. shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查)

    shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查)Shell脚本与MySQL数据库交互(增删改查)# 环境准备:安装mariadb 数据库 [root ...

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

    本来是要mysql数据库中创建事件任务来,定时执行存储过程,做数据传输的...后来由于种种原因,就使用crontab来定时执行,调用存储过程. 实现这个数据传输分为两步: 第一步:编写shell脚本调 ...

  3. shell备份mysql思路_写一个shell脚本备份mysql数据库的步骤

    写一个shell脚本备份mysql数据库的步骤 发布时间:2020-05-25 15:47:41 来源:51CTO 阅读:221 作者:三月 下文我给大家简单讲讲关于写一个shell脚本备份mysql ...

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

    来源:http://blog.163.com/xychenbaihu@yeah/blog/static/13222965520114116289991/ mysql  -hhostname -Ppor ...

  5. shell脚本将mysql数据库中查询结果导出制作成.CSV格式文件;或.txt/.log文件

    #第一种方法在命令行中直接执行下面代码(.log可替换为其他格式文件) mysql -hlocalhost -P3306 -uroot -p1234 -e"select * from dem ...

  6. java-web项目之jsp脚本访问mysql数据库

    jsp访问数据库 1.使用jsp小脚本:<%java代码%>,就是在其中写入jdbc代码. 2.导包操作 a.java项目: 首先,将jar包复制到工程: 然后,右键该jar包->b ...

  7. shell脚本备份mysql数据库(for循环)

    #!/bin/bash mysql_host="192.168.1.239" mysql_user="root" mysql_passwd="1234 ...

  8. Linux备份MySQL xshell_linux shell脚本备份mysql数据库

    #!/bin/sh # 备份数据库 # Mysql 用户名密码 MYSQL_USER=root MYSQL_PASS=root BACKUP_DIR=/data/backup/mysql DATA_D ...

  9. linux shell脚本备份mysql数据库

    #!/bin/sh# 备份数据库# Mysql 用户名密码 MYSQL_USER=root MYSQL_PASS=root BACKUP_DIR=/data/backup/mysql DATA_DIR ...

最新文章

  1. java未知对象调用其某个方法_java如何调用一个方法内的对象
  2. 适配器模式(三种)简单使用
  3. 瓜分60万现金大奖,第二届云原生编程挑战赛等你来报名!
  4. Oracle 11g Win10卸载 ,亲测
  5. Word转换英文为大写小写的方法
  6. 600 imp oracle_oracle数据库的导入导出(imp和exp)
  7. 重磅!2021 高通人工智能应用创新大赛今日开赛
  8. Unity3D研究院之IOS触摸屏手势控制镜头旋转与缩放
  9. 戴尔新版bios设置中文_戴尔电脑装机过程
  10. mysql 为数据表添加字段_MySQL数据表添加字段实例
  11. Unity3D mac版汉化教程
  12. 安卓原生系统_安卓原生系统为什么比MIUI和EMUI等国产系统更流畅
  13. 关于如何去实现百度的自动发帖功能猜想
  14. 无法启动计算机丢失xinput1,电脑丢失xinput13.dll怎么办?计算机丢失XINPUT1_3.dll解决办法...
  15. 计算机二级Python错题
  16. bzoj2429- 聪明的猴子
  17. Pycharm下载pytorch
  18. STM32毕业设计题目大全 选题推荐
  19. python画平行坐标图_Python实现平行坐标图的两种方法小结
  20. Java内存模型的抽象结构

热门文章

  1. java分解因式_用JAVA因式分解 并以9=3×3格式输出
  2. 赛码浪潮笔试题库软件实施岗位_2020年浪潮软件类笔试题
  3. 封装设置属性,一家人都要整整齐齐系列(1) JAVA泛型的实现原理
  4. CC攻击工具list
  5. 深入理解groupByKey、reduceByKey区别——本质就是一个local machine的reduce操作
  6. 深入理解$watch ,$apply 和 $digest --- 理解数据绑定过程——续
  7. python 属性可修改的装饰器 监控函数的运行时间
  8. HTML5的新特性----拖放功能
  9. THE TOP FILE(top文件详解)
  10. 【java】实现一个简单的正则:判断一个字符串是否全由数字组成