研发组需要同步表数据,但维护表结构注释是记录在Excel中,同步10几张表,字段注释几百行,手动加太麻烦,同时也防止后续再加,所以写了如下脚本。
脚本功能是读excel内容,第一列是表名/字段名 ,第二列是描述,第三列是demo (可以忽略)将字段注释使用alter table的方式加上。
1.先引用包 我们用的openpyxl ,调试中用到了pdb 连接数据库用的是pymysql
import openpyxl
import os
import pymysql
import pdb
hostname='172.17.4.4'
uname='user'
pword='password****'
2.以追加的形式打印出建表sql和需要加注释的sql
def writeFile(content:str):
with open('adddesc.sql','a') as f :
f.write('{} \n'.format(content))
3.连接数据库,获取建表sql。
def getTableSql(tablename):
conn = pymysql.connect(host=hostname,port=3306,user=uname,password=pword,database='dbname')
res = None
try:
cursor = conn.cursor()
cursor.execute('show create table {}'.format(tablename))
_,res = cursor.fetchone()
except pymysql.Error as err: