首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据python列的列名和数据类型(使用“pymysql”)进行动态的“创建表”MySQL查询?

问如何根据python列的列名和数据类型(使用“pymysql”)进行动态的“创建表”MySQL查询?
EN

Stack Overflow用户
提问于 2018-07-06 04:58:49
回答 1查看 590关注 0票数 1

我有以下数据:

代码语言:javascript
复制
table_name=xyz
column_names=['c1', 'c2', 'c3', 'c4']
column_datatypes=['VARCHAR(40)', 'BIGINT(40)', 'BIGINT(20)', 'VARCHAR(10)'] 

我正在从文件.i.e中读取上面列表的长度可以vary.So,我希望创建一个动态的'CREATE‘MySQL查询,例如:

代码语言:javascript
复制
CREATE TABLE xyz(c1 VARCHAR(40),c2 BIGINT(40),c3 BIGINT(20),c4 VARCHAR(10));

如何伪造上面这样的字符串查询(可能使用string.format())?

另外,请把问题提出来(如果值得的话),因为我即将被阻止去问更多的问题,因为我以前的问题没有得到任何表决。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-06 07:01:57

这就是你要的!

代码语言:javascript
复制
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')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51203273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档