從0到1學習網(wǎng)絡安全 【MySQL基礎-MySQL 排序】

MySQL 排序

我們知道從 MySQL 表中使用 SQL SELECT 語句來讀取數(shù)據(jù)。
如果我們需要對讀取的數(shù)據(jù)進行排序,我們就可以使用 MySQL 的 ORDER BY 子句來設定你想按哪個字段哪種方式來進行排序,再返回搜索結果。

語法
以下是 SQL SELECT 語句使用 ORDER BY 子句將查詢數(shù)據(jù)排序后再返回數(shù)據(jù):

SELECT 字段 FROM 表名 ORDER BY 字段 【ASC | DESC】

  • 你可以使用任何字段來作為排序的條件,從而返回排序后的查詢結果。
  • 你可以設定多個字段來排序。
  • 你可以使用 ASC 或 DESC 關鍵字來設置查詢結果是按升序或降序排列。 默認情況下,它是按升序排列。
  • 你可以添加 WHERE...LIKE 子句來設置條件。


在命令提示符中使用 ORDER BY 子句

以下將在 SQL SELECT 語句中使用 ORDER BY 子句來讀取MySQL 數(shù)據(jù)表 mydb_jianshu 中的數(shù)據(jù):

實例

以下實例,結果將按升序及降序排列。

mysql> use mydb;
Database changed
mysql> select * from mydb_jianshu order by jianshu_id asc;
+------------+----------------------------+----------------+-----------------+
| jianshu_id | jianshu_title              | jianshu_author | submission_date |
+------------+----------------------------+----------------+-----------------+
|          2 | 學習網(wǎng)絡安全從0到1         | Fangdm         | 2018-02-09      |
|          3 | MySQL基礎                  | Fangdm         | 2018-02-09      |
+------------+----------------------------+----------------+-----------------+
2 rows in set (0.08 sec)
mysql> select * from mydb_jianshu order by jianshu_id desc;
+------------+----------------------------+----------------+-----------------+
| jianshu_id | jianshu_title              | jianshu_author | submission_date |
+------------+----------------------------+----------------+-----------------+
|          3 | MySQL基礎                  | Fangdm         | 2018-02-09      |
|          2 | 學習網(wǎng)絡安全從0到1         | Fangdm         | 2018-02-09      |
+------------+----------------------------+----------------+-----------------+
2 rows in set (0.00 sec)

讀取 mydb_jianshu 表中所有數(shù)據(jù)并按 jianshu_id 字段的升降序排列。


在 PHP 腳本中使用 ORDER BY 子句

實例

以下實例,查詢后的數(shù)據(jù)按 jianshu_id 字段的降序排列后返回。

<?php
$dbname = 'mydb';
$servername = 'localhost';
$username = 'root';
$password = '';
try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    // 設置 PDO 錯誤模式為異常
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $sql = "select * from mydb_jianshu order by jianshu_id desc;";

    // 設置結果集為關聯(lián)數(shù)組
    $result = $conn->query("$sql");
    $data = $result->fetchAll(PDO::FETCH_ASSOC);
    echo "<table border='1'>
          <tr>
          <td>jianshu_id</td>
          <td>jianshu_title</td>
          <td>jianshu_author</td>
          <td>submission_date</td>
          </tr>
";
    foreach ($data as $k => $v) {
        echo "<tr>";
        echo "<td>" . $v['jianshu_id'] . "</td>";
        echo "<td>" . $v['jianshu_title'] . "</td>";
        echo "<td>" . $v['jianshu_author'] . "</td>";
        echo "<td>" . $v['submission_date'] . "</td>";
        echo "</tr>";
    }
    echo "</table>";
} catch (PDOException $e) {
    echo $sql . "<br>" . $e->getMessage();
}

$conn = null;
?>

輸出結果:


image.png



注:注入測試時我們可以利用 ORDER BY 來判斷表中含多少個字段。

從0到1學習網(wǎng)絡安全 【目錄】

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 什么是數(shù)據(jù)庫? 數(shù)據(jù)庫是存儲數(shù)據(jù)的集合的單獨的應用程序。每個數(shù)據(jù)庫具有一個或多個不同的API,用于創(chuàng)建,訪問,管理...
    chen_000閱讀 4,143評論 0 19
  • 數(shù)據(jù)庫入門 數(shù)據(jù)庫: 保存有組織的數(shù)據(jù)的容器(通常是一個文件或一組文件).數(shù)據(jù)庫軟件應該稱為 DBMS(DataB...
    Mjericho閱讀 572評論 0 0
  • 自從有了網(wǎng)絡,輿論似乎就成了主導。任何一件具有話題性的事件,都會被加以潤色,推上風口浪尖。這世上,總有人熱衷于此事...
    陳若心閱讀 308評論 0 1
  • 《我是一粒塵土》 我是一粒塵土, 被吹散在風中。 風吹散了一粒我, 卻也造就了千萬粒我。 于是后來, 我是千千萬萬...
    卦貓閱讀 1,172評論 3 13
  • 圖片發(fā)自簡書App 打掃完房間,此時午夜十一點五十二分。跳跳還在籠子里張望著,大概是看到敷上面膜的我怪怪的吧...
    幻夢一場閱讀 298評論 0 0

友情鏈接更多精彩內容