我对mysql很新,就像操纵数据库本身一样。我成功地将新线存储在一张桌子中,但我的下一步努力会更复杂一些。
我想从现有的mysql数据库中获取列名,并将它们保存到python中的数组中。我正在使用官方的mysql连接器。
我想我可以通过information_schema.columns命令实现这一点,但我不知道如何构建查询并将信息存储在数组中。这将是大约100-200列,所以性能可能会成为一个问题,所以我认为只是为每一列迭代我的方式是明智的。
使用连接器将代码注入mysql的基本代码是:
def insert(data):
query = "INSERT INTO templog(data) " \
"VALUES(%s,%s,%s,%s,%s)"
args = (data)
try:
db_config = read_db_config()
conn = MySQLConnection(db_config)
cursor = conn.cursor()
cursor.execute(query, args)
#if cursor.lastrowid:
# print('last insert id', cursor.lastrowid)
#else:
# print('last insert id not found')
conn.commit()
cursor.close()
conn.close()
except Error as error:
print(error)
如上所述,为了从sql server获取数据,需要修改上面的代码。提前谢谢!
答案 0 :(得分:0)
感谢您的帮助!
将此作为工作代码:
def GetNames(web_data, counter):
#get all names from the database
connection = create_engine('mysql+pymysql://user:pwd@server:3306/db').connect()
result = connection.execute('select * from price_usd')
a = 0
sql_matrix = [0 for x in range(counter + 1)]
for v in result:
while a == 0:
for column, value in v.items():
a = a + 1
if a > 1:
sql_matrix[a] = str(('{0}'.format(column)))
这将从现有的sql数据库中获取所有列名称