一个小巧的MySQL Shell
2004-10-28 11:08
281 查看
.comment {color:#009900}
.keyword {color:#0000FF; font-weight:bold}
.string {color:#999999}
.number {color:#FF0000}
.buildinfunctions {color:#FF0000}
.methods {color:#009999}
.attributes {color:#009999}
.exceptions {color:#FF0000}
.op {color:#993300}
.commonlibs {color:#660066}
.userdefine {color:#0000FF}
.keyword {color:#0000FF; font-weight:bold}
.string {color:#999999}
.number {color:#FF0000}
.buildinfunctions {color:#FF0000}
.methods {color:#009999}
.attributes {color:#009999}
.exceptions {color:#FF0000}
.op {color:#993300}
.commonlibs {color:#660066}
.userdefine {color:#0000FF}
#!/usr/bin/python # -*- coding: cp936 -*- ################################# # Written by caocao # # caocao@eastday.com # # http://nethermit.yeah.net # ################################# import sys, string, os from types import * import MySQLdb print "Written by caocao" print "caocao@eastday.com" print "http://nethermit.yeah.net" print def iif(expression, whenTrue, whenFalse): if expression: return whenTrue else: return whenFalse class mysqlTest: def __init__(self, host="localhost", user="root", passwd="", db=""): self.connection=None self.host=host self.user=user self.passwd=passwd self.db=db self.result=None print "-"*40 print "MySQL Shell v 1.0" print "Usage: python mysql.shell.py [host] [user] [passwd(% is empty)] [db]" print "Connect..." try: self.connection=MySQLdb.connect(host=self.host, user=self.user, passwd=self.passwd, db=self.db) except: print "Can't connect to mysql server./nPlease make sure your username or password is right." sys.exit(1) print "-"*40 print self.printComment("connection", "get_server_info") print self.printComment("connection", "get_host_info") print self.printComment("connection", "get_proto_info") print self.printComment("connection", "info") print self.printComment("connection", "character_set_name") print self.printComment("connection", "thread_id") print self.printComment("connection", "stat") def __del__(self): if self.connection!=None: self.connection.close() print "-"*40 print "Quit..." def printComment(self, instance, function): return "%s = %s" % (string.rjust(function, 18), eval("self."+instance+"."+function+"()")) def printAll(self): output, row="", self.result.fetch_row(0) for i in range(self.result.num_fields()): output+=repr(self.result.describe()[i][0])+"/n" for i in range(self.result.num_rows()): for j in range(self.result.num_fields()): output+=iif(type(row[i][j]) is StringType, row[i][j], repr(row[i][j]))+"/n" return output def runSQL(self, queryString="show databases"): print "-"*40 try: self.connection.query(queryString) except: print "Can't run sql." else: self.result=self.connection.store_result() print self.printComment("connection", "field_count") print self.printComment("connection", "affected_rows") print self.printComment("connection", "insert_id") print self.printComment("result", "num_fields") print self.printComment("result", "num_rows") print self.printComment("result", "field_flags") print "-"*40 print self.printAll() if __name__=="__main__": argArray=sys.argv del argArray[0] test=eval(("mysqlTest(/"%s/")" % "/",/"".join(argArray)).replace("%", "")) while True: try: command=string.strip(raw_input("PS mysql>"), " ") commandLow=string.lower(command) except EOFError: break else: if commandLow=="exit" or commandLow=="quit": break elif commandLow=="": continue else: test.runSQL(command)
相关文章推荐
- 一个简单的MySQL备份Shell脚本
- 程序员(媛)Shell脚本必备技能之中的一个: 在Linux下怎样自己主动备份mysql数据
- shell写的一个mysql自动备份脚本。
- 4000 一个简单的监控mysql服务的shell脚本
- 写了一个简单的shell脚本监控mysql服务器运行状态
- 一个小巧的Python Shell
- 一个小巧的Python Shell
- 一个存储过程和shell操作mysql
- 用shell写一个mysql数据备份脚本
- [MySQL5.6] 一个简单的optimizer_trace示例
- 【C语言】实现一个简单SHELL应用
- Mysql 没有nvl()函数,却有一个类似功能的函数ifnull();
- 设计一个Shell程序,在/userdata目录下建立50个目录,即user1~user50,
- Mysql在select子句中聚集函数和普通属性一起写出现的一个有趣的问题!
- 一个单引号引发的MYSQL性能问题分析
- Shell 进度条效果的一个实现
- shell_mysql_ alias 快速启动
- MySQL字符集的一个坑
- shell脚本自动修复mysql损坏的表
- 用python的cmd模块写一个简单的shell