Получить имя таблицы при запросе данных из базы данных в Python Flask - PullRequest
0 голосов
/ 23 октября 2019

Я начинаю поднимать колбу. После 3 лет PHP я решил, что пришло время. Я успешно подключился к своему локальному серверу и базе данных и смог запросить данные из базы данных и вывести их на экран. Затем я решил, что пришло время перейти к небольшому проекту REST API, но я не могу понять, как извлечь имена таблиц для получения правильного вывода JSON. Вот мой код:

cur = mysql.connection.cursor()
cur.execute("SELECT * FROM users")
fetchdata = cur.fetchall()
cur.close()
output = json.dumps(fetchdata)
return output

Ответы [ 2 ]

0 голосов
/ 25 октября 2019

Когда вы говорите имя таблицы, вы имеете в виду имя столбца? Если это так, вы ищете cursorclass=MySQLdb.cursors.DictCursor, например:

import MySQLdb
import MySQLdb.cursors
connection = MySQLdb.connect(host=HOST, port=PORT, user=USER, passwd=PASSWD, db=DB, cursorclass=MySQLdb.cursors.DictCursor, use_unicode=1)

Затем, после того как вы выполните cursor = connection.cursor(), cursor.execute(sql) и all_rows = cursor.fetchall(), вы получите словарь, который вы можете JSONify:

for row in all_rows:
    row['column_selected'] # exists :)
...
json.dumps(all_rows) # should be much better now

Надеюсь, я правильно понял вашу проблему!

0 голосов
/ 23 октября 2019

вы проверяли официальные документы MySQL для Python? Здесь это хороший пример, который может помочь вам подключиться к вашей базе данных и получить информацию из вашей таблицы.

Редактировать:

С помощью этого кода вы можете получить все таблицы в вашей БД, а затем взять те, которые вам нужны.


import pymysql
pymysql.install_as_MySQLdb()
import MySQLdb

db= MySQLdb.connect("hostname", "username", "password", "database_name")

cursor= db.cursor()

result = cursor.fetchall()

for i in range(len(result)):
    print(result[i])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...