import re
def convert_mysql_to_clickhouse(mysql_sql):
# 将CREATE TABLE语句中的数据类型转换成ClickHouse的数据类型
data_type_mapping = {
‘tinyint’: ‘Int8’,
‘smallint’: ‘Int16’,
‘mediumint’: ‘Int32’,
‘int’: ‘Int32’,
‘bigint’: ‘Int64’,
‘float’: ‘Float32’,
‘double’: ‘Float64’,
‘decimal’: ‘Decimal’,
‘datetime’: ‘DateTime’,
‘timestamp’: ‘DateTime’,
‘char’: ‘String’,
‘varchar’: ‘String’,
‘text’: ‘String’,
‘mediumtext’: ‘String’,
‘longtext’: ‘String’,
‘enum’: ‘String’,
‘set’: ‘String’,
‘binary’: ‘FixedString’,
‘varbinary’: ‘FixedString’,
‘blob’: ‘FixedString’,
‘mediumblob’: ‘FixedString’,
‘longblob’: ‘FixedString’,
}
# 定义正则表达式匹配规则
pattern = r’CREATE\s+TABLE\s+(\S+)\s*((.?))\s(ENGINE\s*=.?|)\s;’
columns_pattern = r’(\w+)
\s+(\w+)((.?)|)\s(.?)\s