我一直在尝试创建一个函数,通过输入列名、tablename、start ID和end ID,从与python连接的MYSQL服务器上重新创建所需的表,
首先,行mycursor.execute("SELECT colNames FROM tablename")
不理解colNames和tablename等变量,它只获取列和表名的确切名称。我希望能够通过手动输入变量来调用一个表。我的第二个问题是函数只显示从StartId
开始并以EndId
结束的行,为此我不知道如何修改for循环来在这个上下文中为我执行此操作。你知道吗
这是一个用python编写的mysql包,我需要提取一个指定的列来开始机器学习过程(周期检测、特征提取、特征选择等)
import mysql.connector
from mysql.connector import Error
mydb = mysql.connector.connect(
host='localhost',
database='feldbuslogging',
user='root',
password='xxx'
)
def readFromTable(connection, tablename, colNames, startId, endId):
tablename = input("Input Tablename: ")
colNames = input("Input Column Name: ")
startId = input("Input Start ID: ")
endId = input("Input End ID: ")
startId = int(startId)
endId = int(endId)
mycursor = mydb.cursor()
mycursor.execute("SELECT colNames FROM tablename")
myresult = mycursor.fetchall()
for x in myresult(startId: endId):
print(x)
我希望输出是一个新表,其中包含从StartId
开始并以EndId
结束的所需变量和行。你知道吗
for x in myresult(startId:endId)
获取invalid Syntax
mycursor.execute("SELECT colNames FROM tablename")
获取feldbuslogging.tablename
不存在。你知道吗
只是为了你的问题。如果起始id和结束id是主键id
您可以进行如下简单的修改(不安全):
顺便说一句,你应该先阅读图书馆的文档。你知道吗
你很容易找到这个。你知道吗
更新
正如约翰·戈登所说。上面的代码对于由用户输入的列名称和表名称是不安全的。你知道吗
如果你在生产中这样做。需要做更多的检查。你知道吗
相关问题 更多 >
编程相关推荐