用python动态创建MySQL表?

时间:2018-05-03 15:19:32

标签: python mysql pymysql

所以我有一个200多列的数组。我将如何循环使用pymysql创建表?

目前连接如下:

import pymysql

connection = pymysql.connect(
    host='my_host_name',
    user='my_username',
    password='my_password',
    port= 0000,
    database='my_db')

columns = ['firstname', 'lastname', 'email', .... ]
cursor = connection.cursor()
sql = 'CREATE TABLE my_table (
       # For each column in columns                       
                             )'
cursor.execute(sql)

编辑:我将首先遍历列并附加适当的数据类型

1 个答案:

答案 0 :(得分:0)

您可以使用join遍历所有列:

columns = ['firstname VARCHAR(255)', 'lastname VARCHAR(255)'] # and so on
sql = 'CREATE TABLE my_table (' + ', '.join(columns) + ');'

请注意,生成的表格甚至不是1NF(第一范式),因为它没有PRIMARY KEY。最好将一列或多列设置为PRIMARY KEY,以降低不一致的风险。