设为首页 加入收藏

TOP

Shell Perl 脚本查询 MySQL DB
2014-11-24 07:23:54 来源: 作者: 【 】 浏览:0
Tags:Shell Perl 脚本 查询 MySQL

tags: shell perl db mysql unix select script


system:


db:


**@***:~$ mysql --version
mysql Ver 14.14 Distrib 5.1.41, for debian-linux-gnu (x86_64) using readline 6.1


mysql>use test;


mysql> desc user;
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | YES | | NULL | |
| age | int(11) | YES | | NULL | |
+-------+-------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)



mysql> select * from user;
+----+------+------+
| id | name | age |
+----+------+------+
| 1 | a | 11 |
| 2 | b | 12 |
+----+------+------+
2 rows in set (0.00 sec)
mysql>



bash shell: db_select.sh


#!/bin/bash
HOST=127.0.0.1
USER=****
PASS=****


DATABASE=test
TABLE=user

QUERY=`mysql -h$HOST -u$USER -p$PASS << EOF
use $DATABASE;
select * from $TABLE where 1=1;
exit
EOF`

echo $QUERY



Result:
**@***-laptop:/***/shell$ ./db_select.sh
id name age 1 a 11 2 b 12



perl shell: db_select.pl


#!/usr/bin/perl
use strict;
my $HOST="127.0.0.1";
my $USER="******";
my $PASS="*****";

my $DB="test";
my $TABLES="user";

my $sql = "select * from $TABLES where 1=1";
my $result = `mysql -h$HOST -u$USER -p$PASS $DB -e"$sql"`;

print $result;
print "\n";

foreach my $line (split(/\n/, $result)){
printf("%s\n",$line);
for my $var (split(/\s/, $line))
{
print $var."\n";
}
print "\n";
}



Result:


**@***-laptop:/***/shell$ ./db_select.pl
id name age
1 a 11
2 b 12

id name age
id
name
age

1 a 11
1
a
11

2 b 12
2
b
12




--EOF--


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Shell脚本大小写字符串转换 下一篇Linux下程序hello Linux GCC编译

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·数据库:推荐几款 Re (2025-12-25 12:17:11)
·如何最简单、通俗地 (2025-12-25 12:17:09)
·什么是Redis?为什么 (2025-12-25 12:17:06)
·对于一个想入坑Linux (2025-12-25 11:49:07)
·Linux 怎么读? (2025-12-25 11:49:04)