修改表名:
import pandas as pd
# 配置Excel文件路径
excel_file = 'your_excel_file.xlsx' # 替换为你的Excel文件路径
# 从Excel读取数据
def read_excel_data(file_path):
try:
# 使用pandas读取Excel
df = pd.read_excel(file_path)
# 确保列名正确(根据你的Excel实际列名调整)
df.columns = ['系统编码', '数据库类型', '数据库名', '表英文名', '表中文名',
'业务域', '加工周期', '模型描述', '资产责任人', '存储大小(mb)', '资产重要等级']
return df
except Exception as e:
print(f"读取Excel文件出错: {e}")
return None
# 生成修改表注释的SQL语句
def generate_alter_table_sql(df):
sql_statements = []
for _, row in df.iterrows():
table_name = row['表英文名']
table_comment = row['表中文名']
# 处理表注释中的特殊字符(如单引号)
safe_comment = table_comment.replace("'", "''")
sql = f"ALTER TABLE `{table_name}` COMMENT = '{safe_comment}';"
sql_statements.append(sql)
return sql_statements
# 主函数
def main():
# 读取Excel数据
df = read_excel_data(excel_file)
if df is None:
return
# 生成SQL语句
sql_statements = generate_alter_table_sql(df)
# 输出SQL语句
print("-- 生成的修改表注释SQL语句 --")
for sql in sql_statements:
print(sql)
# 可选:将SQL保存到文件
save_to_file = input("是否要将SQL语句保存到文件?(y/n): ").strip().lower()
if save_to_file == 'y':
with open('alter_table_comments.sql', 'w', encoding='utf-8') as f:
f.write("\n".join(sql_statements))
print("SQL语句已保存到 alter_table_comments.sql 文件")
if __name__ == "__main__":
main()
修改字段名:
import pandas as pd
# 配置Excel文件路径
excel_file = 'your_excel_file.xlsx' # 替换为你的Excel文件路径
def read_excel_data(file_path):
try:
# 使用pandas读取Excel
df = pd.read_excel(file_path)
# 确保列名正确(根据你的Excel实际列名调整)
df.columns = ['系统编码', '数据库名', '表英文名', '字段英文名',
'字段中文名', '字段类型', '字段描述']
return df
except Exception as e:
print(f"读取Excel文件出错: {e}")
return None
def generate_alter_column_sql(df):
sql_statements = []
for _, row in df.iterrows():
table_name = row['表英文名']
column_name = row['字段英文名']
column_comment = row['字段中文名']
column_type = row['字段类型']
# 处理注释中的特殊字符(如单引号)
safe_comment = column_comment.replace("'", "''")
# 生成修改字段注释的SQL
sql = f"ALTER TABLE `{table_name}` MODIFY COLUMN `{column_name}` {column_type} COMMENT '{safe_comment}';"
sql_statements.append(sql)
return sql_statements
def main():
# 读取Excel数据
df = read_excel_data(excel_file)
if df is None:
return
# 生成SQL语句
sql_statements = generate_alter_column_sql(df)
# 输出SQL语句
print("-- 生成的修改字段注释SQL语句 --")
for sql in sql_statements:
print(sql)
# 可选:将SQL保存到文件
save_to_file = input("是否要将SQL语句保存到文件?(y/n): ").strip().lower()
if save_to_file == 'y':
with open('alter_column_comments.sql', 'w', encoding='utf-8') as f:
f.write("\n".join(sql_statements))
print("SQL语句已保存到 alter_column_comments.sql 文件")
if __name__ == "__main__":
main()