如何按日期对数据库进行排序?
How can I sort a database by date?
我正在创建一个 Python 应用程序,它将我的家庭作业存储在数据库中(使用 PhpMyAdmin)。我的问题来了:
此刻,我正在用 ID(1、2、3、4...)、日期(23/06/2018...)和任务(阅读一章)对每个输入进行排序一本书)。现在我想按日期对它们进行排序,因为当我想阅读时我必须做什么。我更愿意先看看我应该做什么,这取决于我什么时候完成它。例如:
如果我有两个任务:一个是 25/07/2018,另一个是 11/07/2018,我想先显示 11/07/2018,不管它是否晚于 25/ 07/2018。我正在使用 Python (3.6)、pymysql 和 PhpMyAdmin 来管理数据库。
我有一个想法让这个工作,也许我可以 运行 每 2 小时一个 Python 脚本,对数据库中的所有元素进行排序,但我不知道如何我可以做吗
现在,我将向您展示将值输入数据库然后显示所有值的代码。
def dba():
connection = pymysql.connect(host='localhost',
user='root',
password='Adminhost123..',
db='deuresc',
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor)
try:
with connection.cursor() as cursor:
# Create a new record
sql = "INSERT INTO `deures` (`data`, `tasca`) VALUES (%s, %s)"
cursor.execute(sql, (data, tasca))
# connection is not autocommit by default. So you must commit to save
# your changes.
connection.commit()
with connection.cursor() as cursor:
# Read a single record
sql = "SELECT * FROM `deures` WHERE `data`=%s"
cursor.execute(sql, (data,))
resultat = cursor.fetchone()
print('Has introduït: ' + str(resultat))
finally:
connection.close()
def dbb():
connection = pymysql.connect(host='localhost',
user='root',
password='Adminhost123..',
db='deuresc',
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor)
try:
with connection.cursor() as cursor:
# Read a single record
sql = "SELECT * FROM `deures`"
cursor.execute(sql)
resultat = cursor.fetchall()
for i in resultat:
print(i)
finally:
connection.close()
有人可以帮忙吗?
您没有对数据库进行排序。当您请求数据时,您对查询结果进行排序。所以在你的 dbb
函数中你应该这样做:
SELECT * FROM `deures` ORDER BY `data`
假设 data
是带有日期的字段。
我正在创建一个 Python 应用程序,它将我的家庭作业存储在数据库中(使用 PhpMyAdmin)。我的问题来了:
此刻,我正在用 ID(1、2、3、4...)、日期(23/06/2018...)和任务(阅读一章)对每个输入进行排序一本书)。现在我想按日期对它们进行排序,因为当我想阅读时我必须做什么。我更愿意先看看我应该做什么,这取决于我什么时候完成它。例如:
如果我有两个任务:一个是 25/07/2018,另一个是 11/07/2018,我想先显示 11/07/2018,不管它是否晚于 25/ 07/2018。我正在使用 Python (3.6)、pymysql 和 PhpMyAdmin 来管理数据库。
我有一个想法让这个工作,也许我可以 运行 每 2 小时一个 Python 脚本,对数据库中的所有元素进行排序,但我不知道如何我可以做吗
现在,我将向您展示将值输入数据库然后显示所有值的代码。
def dba():
connection = pymysql.connect(host='localhost',
user='root',
password='Adminhost123..',
db='deuresc',
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor)
try:
with connection.cursor() as cursor:
# Create a new record
sql = "INSERT INTO `deures` (`data`, `tasca`) VALUES (%s, %s)"
cursor.execute(sql, (data, tasca))
# connection is not autocommit by default. So you must commit to save
# your changes.
connection.commit()
with connection.cursor() as cursor:
# Read a single record
sql = "SELECT * FROM `deures` WHERE `data`=%s"
cursor.execute(sql, (data,))
resultat = cursor.fetchone()
print('Has introduït: ' + str(resultat))
finally:
connection.close()
def dbb():
connection = pymysql.connect(host='localhost',
user='root',
password='Adminhost123..',
db='deuresc',
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor)
try:
with connection.cursor() as cursor:
# Read a single record
sql = "SELECT * FROM `deures`"
cursor.execute(sql)
resultat = cursor.fetchall()
for i in resultat:
print(i)
finally:
connection.close()
有人可以帮忙吗?
您没有对数据库进行排序。当您请求数据时,您对查询结果进行排序。所以在你的 dbb
函数中你应该这样做:
SELECT * FROM `deures` ORDER BY `data`
假设 data
是带有日期的字段。