如何按日期对数据库进行排序?

时间:2018-08-10 09:11:23

标签: python sql python-3.x phpmyadmin pymysql

我正在创建一个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()

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

您不对数据库进行排序。要求数据时,对查询结果进行排序。因此,在您的dbb函数中,您应该这样做:

SELECT * FROM `deures` ORDER BY `data`

假设data是带有日期的字段。