У меня есть переменные ниже, попробуйте автоматически генерировать SQL-оператор в python
_SQL_fields = ("ID", "NAME", "BIRTH", "SEX", "AGE")
_add_SQL_desc_type = ("PRIMARY KEY AUTOINCREASEMENT",)
_SQL_type = ("INT",'TEXT')
_Value = (1,'TOM',19700101,'M',40)
bop = ["AND"] * (len(_SQL_fields) - 1)
mop = ["="] * 5
comma = [","] * 4
exception_field = ["NAME", "BIRTH"]
для успешного создания SQL-оператора мне нужны строки, сгенерированные вышеуказанной переменной:
'(ID, NAME, BIRTH, SEX, AGE)'
'(ID PRIMARY KEY AUTOINCREASEMENT INT, NAME TEXT, BIRTH, SEX, AGE)'
'ID = 1 AND NAME = "TOM" AND BIRTH = "19700101" AND SEX = "M" AND AGE = '40''
и удаленные строки исключения_ могут выглядеть как
'(ID, SEX, AGE)'
'(ID PRIMARY KEY AUTOINCREASEMENT INT, SEX, AGE)'
'ID = 1 AND SEX = "M" AND AGE = '40''
==========
пока я использую что-то вроде
str(zip(_SQL_fields,_add_SQL_desc_type,_SQL_type,comma))
или используя
", ".join(_SQL_fields)
чтобы получить один.
но я получаю много путаницы, особенно в обработке "запятая" и "кавычки".
'(ID, NAME, BIRTH, SEX, AGE)' <===== this is OK for SQL
'(ID, NAME, BIRTH, SEX, AGE,)' <===== this is NOT
и это
'ID = 1 AND NAME = "TOM" AND BIRTH = "19700101" AND SEX = "M" and AGE = '40'
^-some var need quotes and some do no need them.
Значит, кто-нибудь может поделиться со мной, как написать чистый код для генерации вышеуказанных строк?
Спасибо за ваше время!
KC