Оператор SELECT MySql возвращает неверное значение с использованием python - PullRequest
0 голосов
/ 28 мая 2020

Я пытаюсь получить значение из таблицы, хранящейся в базе данных Mysql, используя python (pycharm). Но вместо вывода сохраненного значения он выводит количество строк.

import pymysql
connection = pymysql.connect(host='localhost',
                             user='root',
                             password='passw',
                             database='database1',
                             charset='utf8',
                             port=3306
                             )
x=connection.cursor()
select = x.execute('''SELECT
    update_id
FROM
    telegram;
''')
print(select)

Output: 1 

^ Неверный вывод (вывод равен количеству строк). Поскольку я продолжаю добавлять строки, вывод изменяется на количество строк, но никогда не возвращает сохраненное значение.

Команда работает с MySql отлично.

SELECT
        update_id
    FROM
        telegram;
Output:233

^ Это правильный результат. Почему это происходит? Какие изменения я должен внести в свой код python?

Ответы [ 2 ]

1 голос
/ 28 мая 2020

Согласно документации на py mysql, вот как вы должны распечатать:

    sql = "SELECT `id`, `password` FROM `users` WHERE `email`=%s"
    cursor.execute(sql, ('webmaster@python.org',))
    result = cursor.fetchone()
    print(result)

enter image description here

Вам не хватает "cursor.fetchone ()"

Надеюсь, это поможет

0 голосов
/ 28 мая 2020

Согласно документации , cursor.execute () возвращает количество затронутых строк. Затем вам нужно получить контент с помощью fetch () или fetchall (). См. Пример по адресу Py MySQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...