Heim > Fragen und Antworten > Hauptteil
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粉8195335642023-09-13 00:11:08
我有这个问题。我发现我需要做的唯一一件事就是在发出查询以获取实际条目之后添加
records = cursor.fetchall()
。