Shell、Perl、Python、PHP訪問(wèn) MySQL 數(shù)據(jù)庫(kù)代碼實(shí)例
下午寫了一個(gè)簡(jiǎn)單的 bash 腳本,用來(lái)測(cè)試程序,輸入一個(gè)測(cè)試用例文件,輸出沒有通過(guò)測(cè)試的用例和結(jié)果,然后把結(jié)果保存到數(shù)據(jù)庫(kù)里。如何在 bash 腳本里直接訪問(wèn)數(shù)據(jù)庫(kù)呢?既然在 shell 里可以直接用 mysql 命令操作數(shù)據(jù)庫(kù),那么在 shell script 里也應(yīng)該可以通過(guò)調(diào)用 mysql 來(lái)操作數(shù)據(jù)庫(kù)。比如用下面的 bash shell 腳本查詢數(shù)據(jù)庫(kù):
Bash
#!/bin/bash
mysql -uvpsee -ppassword test << EOFMYSQL
select * from test_mark;
EOFMYSQL
如果需要復(fù)雜的數(shù)據(jù)庫(kù)操作的話不建議用 shell 腳本,用 Perl/Python/PHP 操作數(shù)據(jù)庫(kù)很方便,分別通過(guò) Perl DBI/Python MySQLdb/PHP MySQL Module 接口來(lái)操作數(shù)據(jù)庫(kù)。這里再給出這三種不同語(yǔ)言連接、查詢數(shù)據(jù)庫(kù)的簡(jiǎn)單例子(為了簡(jiǎn)單和減少篇幅刪除一些不必要的代碼):
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";
}
?>
- Python3.7 pyodbc完美配置訪問(wèn)access數(shù)據(jù)庫(kù)
- 詳解js文件通過(guò)python訪問(wèn)數(shù)據(jù)庫(kù)方法
- 對(duì)Python通過(guò)pypyodbc訪問(wèn)Access數(shù)據(jù)庫(kù)的方法詳解
- Python使用pyodbc訪問(wèn)數(shù)據(jù)庫(kù)操作方法詳解
- Python輕量級(jí)ORM框架Peewee訪問(wèn)sqlite數(shù)據(jù)庫(kù)的方法詳解
- Python的Tornado框架實(shí)現(xiàn)異步非阻塞訪問(wèn)數(shù)據(jù)庫(kù)的示例
- Linux下通過(guò)python訪問(wèn)MySQL、Oracle、SQL Server數(shù)據(jù)庫(kù)的方法
- python訪問(wèn)mysql數(shù)據(jù)庫(kù)的實(shí)現(xiàn)方法(2則示例)
- python使用MySQLdb訪問(wèn)mysql數(shù)據(jù)庫(kù)的方法
- Python訪問(wèn)純真IP數(shù)據(jù)庫(kù)腳本分享
- 在Linux中通過(guò)Python腳本訪問(wèn)mdb數(shù)據(jù)庫(kù)的方法
- python訪問(wèn)純真IP數(shù)據(jù)庫(kù)的代碼
- 使用Python通過(guò)oBIX協(xié)議訪問(wèn)Niagara數(shù)據(jù)的示例
相關(guān)文章
shell腳本監(jiān)控系統(tǒng)負(fù)載、CPU和內(nèi)存使用情況
這篇文章主要介紹了shell腳本監(jiān)控系統(tǒng)負(fù)載、CPU和內(nèi)存使用情況,本文分別給出監(jiān)控服務(wù)器系統(tǒng)負(fù)載情況、監(jiān)控系統(tǒng)cpu使用情況、、監(jiān)控系統(tǒng)內(nèi)存情況、監(jiān)控系統(tǒng)交換分區(qū)swap使用情況的腳本,需要的朋友可以參考下2014-12-12real server 的一個(gè)啟動(dòng)腳本例子(推薦)
下面小編就為大家?guī)?lái)一篇real server 的一個(gè)啟動(dòng)腳本例子(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03script_tool_for_linux.bash: Linux 環(huán)境下的 hosts 一鍵部署腳本
這篇文章主要介紹了script_tool_for_linux.bash: Linux 環(huán)境下的 hosts 一鍵部署腳本,需要的朋友可以參考下2016-04-04shell查找某字符串在某文件中出現(xiàn)行數(shù)的方法
這篇文章主要介紹了shell查找某字符串在某文件中出現(xiàn)行數(shù)的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-02-02Linux Shell腳本系列教程(五):數(shù)學(xué)運(yùn)算
這篇文章主要介紹了Linux Shell腳本系列教程(五):數(shù)學(xué)運(yùn)算,本文講解了使用let、(())和[]進(jìn)行算術(shù)運(yùn)算、使用expr進(jìn)行算術(shù)運(yùn)算、使用bc進(jìn)行算術(shù)運(yùn)算三種方法,需要的朋友可以參考下2015-06-06