我使用python mysql.connector,我能够插入到表中,并通过DBeaver(数据库管理器)检查并验证数据提交。然而,如果我试图从表中读取SELECT,我得到'None'。我不知道从这里开始我可以做什么。
我的代码。
import mysql.connector, config
# declare vars
cfg = config.Setting(config.argparser())
sql_username = cfg.get_setting('sql', 'username')
sql_password = cfg.get_setting('sql', 'password')
sql_host = cfg.get_setting('sql', 'host')
sql_db = cfg.get_setting('sql', 'db')
db_config = mysql.connector.connect(user=sql_username, password=sql_password, host=sql_host, database=sql_db)
cursor = db_config.cursor(buffered=True)
print(cursor.execute('SELECT "date_created", "date_due", "title", "completed"'
'FROM remind;'))
# query function, checks for errors, returns result of query
# columns: id | date_created | date_due | title | completed
#
def insert(db_id: object, db_table: object, date_created: object, date_due: object, title: object,
completed: object) -> object:
try:
stmt = ("INSERT INTO " + db_table +
"(id, date_created, date_due, title, completed) "
"VALUES (%(id)s, %(date_created)s, %(date_due)s, %(title)s, %(completed)s)")
data = {
'id': db_id,
'date_created': date_created,
'date_due': date_due,
'title': title,
'completed': completed
}
query_result = cursor.execute(stmt, data)
db_config.commit()
except mysql.connector.Error as err:
query_result = ("Insert Query: Something went wrong: {}".format(err))
return query_result
cursor.execute()
会执行select查询。返回类型是None,意味着 执行通过.
如果你想看看结果,可以试试 cursor.fetchall()
. 这将获取结果集中的所有行。
cursor.execute('SELECT "date_created", "date_due", "title", "completed"'
'FROM remind;')
resultSet = cursor.fetchall()
for row in resultSet:
print(row)