#!/usr/bin/env python # encoding = utf8 # Change table columns upper or lower. # author : Spencer # create date: 2017-01-12 import MySQLdb import re import sys import time # db_host = ‘192.168.1.142‘ db_host = ‘192.168.1.251‘ db_port = 3306 db_user = ‘admin‘ db_pass = ‘root‘ exlude_list = [‘information_schema‘,‘mysql‘,‘performance_schema‘,‘sys‘] db = MySQLdb.connect(host=db_host, port=db_port,user=db_user, passwd=db_pass, charset=‘utf8mb4‘) db.character_set_name conn = db.cursor() sql = ‘show databases‘ conn.execute(sql) db_names = conn.fetchall() for db_name in db_names: if db_name[0] not in exlude_list: print db_name[0] db.select_db(db_name[0]) sql = ‘show tables‘ conn.execute(sql) tb_names = conn.fetchall() for table_name in tb_names: sql = ‘‘‘show table status like ‘%s‘ ‘‘‘ % table_name[0] conn.execute(sql) if conn.fetchall()[0][17] != ‘VIEW‘: sql = ‘show create table %s‘ % (table_name[0]) conn.execute(sql) table_struc = conn.fetchall()[0][1].split(‘\n‘) sql = ‘show columns from %s‘ % (table_name[0]) conn.execute(sql) field_count = conn.rowcount for i in xrange(1,field_count + 1): column_prop = re.sub(r‘,$‘,‘‘,table_struc[i]).lower() # 若要讲字段统一改成大写,此处lower 改为 upper sql = ‘‘‘alter table %s modify %s‘‘‘ % (table_name[0],column_prop) conn.execute(sql) print sql time.sleep(0.5) db.close()
本文出自 “Linux初级” 博客,请务必保留此出处http://imsupeng.blog.51cto.com/10651675/1891450
原文:http://imsupeng.blog.51cto.com/10651675/1891450