Heim  >  Fragen und Antworten  >  Hauptteil

Der umgeschriebene Titel lautet: MySQL-Abfragen mit Python

Ich bin neu in Python und SQL. Ich versuche, einen einfachen Code zum Erstellen und Zugreifen auf eine Datenbank zu erstellen und dann eine Tabelle zu erstellen, um zu verstehen, wie SQL funktioniert. Dazu habe ich folgenden Code:

import mysql.connector
from companyClient import client

def createTable():
    cursor.execute("CREATE TABLE Clients" 
         "(id INT NOT NULL AUTO_INCREMENT,"
        "name VARCHAR (32) NOT NULL,"
        "surname VARCHAR (64) NOT NULL,"
        "PRIMARY KEY (id));")

    print("Table created!")


def showTable():
    print("************** Clients Table *************\n")
    tableContent = cursor.execute("SELECT * FROM Clients")
    

def createEntry():
    cursor.execute("INSERT INTO Company.Clients (name, surname) VALUES ('John','Smith')")

def addUser(userToAdd):
    try:
        cursor.execute("INSERT INTO Company.Clients VALUES %s, %s, %s", userToAdd.id, userToAdd.name, userToAdd.surname)
    except:
        print("It is not possible to add the user. Please try again.")

def findUser(userToFind):
    if(cursor.execute("SELECT * FROM Company.Clients WHERE id = %s "), userToFind.id) :
        return True
    else:
        return False

def removeUser(userToRemove):
    try:
        cursor.execute("REMOVE * FROM Company.Clients WHERE id = %s ", userToRemove.id)
    except:
        print("It is not possible to remove this user. Please try again.")

#server connection 
conexion = mysql.connector.connect(
    host="localhost",
    user="********",
    passwd="*********",
    database="Company"
)

cursor = conexion.cursor()
showTable()

Ich verwende SQL Workbench, um die Datenbank zu verwalten. Ich habe die Funktion createTable aufgerufen, um die Tabelle „Kunden“ in der Firmendatenbank zu erstellen. Mit SQL Workbench habe ich einen Eintrag hinzugefügt, nur um zu prüfen, wie ich den Eintrag in Python erhalten kann. Wenn ich jedoch die Funktion showTable aufrufe, ist der Wert von tableContent leer. Zusätzlich zur aktuellen Abfrage SELECT * FROM Clients habe ich auch SELECT * FROM Company.Clients ausprobiert und genau das gleiche Ergebnis erhalten. Wie greife ich richtig auf die Einträge in der Tabelle zu?

P粉604507867P粉604507867404 Tage vor504

Antworte allen(1)Ich werde antworten

  • P粉819533564

    P粉8195335642023-09-13 00:11:08

    我有这个问题。我发现我需要做的唯一一件事就是在发出查询以获取实际条目之后添加

    records = cursor.fetchall()

    Antwort
    0
  • StornierenAntwort