我有以下数据:
table_name=xyz
column_names=['c1', 'c2', 'c3', 'c4']
column_datatypes=['VARCHAR(40)', 'BIGINT(40)', 'BIGINT(20)', 'VARCHAR(10)']
我正在从文件中读取 .i.e 上述列表的长度可能会有所不同。所以我想创建一个动态的"创建表"MySQL查询,例如:
CREATE TABLE xyz(c1 VARCHAR(40),c2 BIGINT(40),c3 BIGINT(20),c4 VARCHAR(10));
如何伪造上述字符串查询(也许使用 string.format(((?
另外,请对问题投赞成票(如果值得的话(,因为我之前的问题没有得到任何投票,所以我即将被阻止提出进一步的问题。
你去吧!
import MySQLdb as mdb
table_name='xyz'
column_names=['c1', 'c2', 'c3', 'c4']
column_datatypes=['VARCHAR(40)', 'BIGINT(40)', 'BIGINT(20)', 'VARCHAR(10)']
db=mdb.connect(host='localhost',user='root',passwd='*****',db='test',port=3306)
cursor=db.cursor()
create_stement='create table '+table_name + '('
i=0
while i< len(column_names)-1 :
create_stement =create_stement +column_names[i] +' '+column_datatypes[i]+' ,'
i=i+1
create_stement =create_stement +column_names[i] +' '+column_datatypes[i]+' )'
print(create_stement)
cursor.execute(create_stement)
print('Done')