Невозможно получить результаты от SQL до Python, используя mysql .connector - PullRequest
1 голос
/ 10 апреля 2020

Я пытаюсь запросить таблицу, хранящуюся в SQL, используя python. Я использую пакет mysql .connector для выполнения задачи.

          import mysql.connector


          #Creating a connection
          mydb = mysql.connector.connect(
          host="localhost",
          user="root",
          passwd="something",
          database='mydatabase',
           )
          print(mydb)

          ##Creating a table called customers
          mycursor = mydb.cursor()
          mycursor.execute("CREATE TABLE customers (name VARCHAR(255), address VARCHAR(255))")

          #Inserting records to the table
          sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
          val = [
          ('Peter', 'Lowstreet 4'),
          ('Amy', 'Apple st 652'),
          ('Hannah', 'Mountain 21'),
          ('Michael', 'Valley 345')]

          mycursor.executemany(sql, val)
          mydb.commit()
          print(mycursor.rowcount, "record inserted.")

Проблема в том, что когда я запрашиваю базу данных, вывод не отображается.

           query=("SELECT name, address FROM customers")
           mycursor.execute(query)

           for (name, address) in mycursor:
                 print("{}  {}".format(name, address))

Вот ссылка на то, что я пробовал и откуда я получил код. Ссылка: https://dev.mysql.com/doc/connector-python/en/connector-python-example-cursor-select.html

Вот подтверждение того, что запрос хранит строки в базе данных. enter image description here

1 Ответ

1 голос
/ 10 апреля 2020

Код работает нормально. Кажется, проблема в строке mycursor.executemany(sql, oval), поскольку переменная определена как val выше. Исправление, которое должно дать вам ожидаемый результат.

...