MySQL where 子句

来源:http://www.cnblogs.com/manongjc/archive/2016/04/01/5344574.html
-Advertisement-
Play Games

我們知道從MySQL表中使用SQL SELECT 語句來讀取數據。 如需有條件地從表中選取數據,可將 WHERE 子句添加到 SELECT 語句中。 語法 以下是SQL SELECT 語句使用 WHERE 子句從數據表中讀取數據的通用語法: 查詢語句中你可以使用一個或者多個表,表之間使用逗號(,)分 ...


我們知道從MySQL表中使用SQL SELECT 語句來讀取數據。

如需有條件地從表中選取數據,可將 WHERE 子句添加到 SELECT 語句中。

語法

以下是SQL SELECT 語句使用 WHERE 子句從數據表中讀取數據的通用語法:

SELECT field1, field2,...fieldN FROM table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....
  • 查詢語句中你可以使用一個或者多個表,表之間使用逗號(,)分割,並使用WHERE語句來設定查詢條件。
  • 你可以在WHERE子句中指定任何條件。
  • 你可以使用AND或者OR指定一個或多個條件。
  • WHERE子句也可以運用於SQL的 DELETE 或者 UPDATE 命令。
  • WHERE 子句類似於程式語言中的if條件,根據 MySQL 表中的欄位值來讀取指定的數據。

以下為操作符列表,可用於 WHERE 子句中。

下表中實例假定 A為10 B為20

操作符描述實例
= 等號,檢測兩個值是否相等,如果相等返回true (A = B) 返回false。
<>, != 不等於,檢測兩個值是否相等,如果不相等返回true (A != B) 返回 true。
> 大於號,檢測左邊的值是否大於右邊的值, 如果左邊的值大於右邊的值返回true (A > B) 返回false。
< 小於號,檢測左邊的值是否小於右邊的值, 如果左邊的值小於右邊的值返回true (A < B) 返回 true。
>= 大於等於號,檢測左邊的值是否大於或等於右邊的值, 如果左邊的值大於或等於右邊的值返回true (A >= B) 返回false。
<= 小於等於號,檢測左邊的值是否小於於或等於右邊的值, 如果左邊的值小於或等於右邊的值返回true (A <= B) 返回 true。

如果我們想再MySQL數據表中讀取指定的數據,WHERE 子句是非常有用的。

使用主鍵來作為 WHERE 子句的條件查詢是非常快速的。

如果給定的條件在表中沒有任何匹配的記錄,那麼查詢不會返回任何數據。

 

從命令提示符中讀取數據

我們將在SQL SELECT語句使用WHERE子句來讀取MySQL數據表 tutorials_tbl 中的數據:

實例

以下實例將讀取 tutorials_tbl 表中 tutorial_author 欄位值為 Sanjay 的所有記錄:

root@host# mysql -u root -p password;
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> SELECT * from tutorials_tbl WHERE tutorial_author='Sanjay';
+-------------+----------------+-----------------+-----------------+
| tutorial_id | tutorial_title | tutorial_author | submission_date |
+-------------+----------------+-----------------+-----------------+
|           3 | JAVA Tutorial  | Sanjay          | 2007-05-21      |
+-------------+----------------+-----------------+-----------------+
1 rows in set (0.01 sec)

mysql>

除非你使用 LIKE 來比較字元串,否則MySQL的WHERE子句的字元串比較是不區分大小寫的。 你可以使用 BINARY 關鍵字來設定WHERE子句的字元串比較是區分大小寫的。

如下實例

root@host# mysql -u root -p password;
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> SELECT * from tutorials_tbl \
          WHERE BINARY tutorial_author='sanjay';
Empty set (0.02 sec)

mysql>

 

使用PHP腳本讀取數據

你可以使用PHP函數的mysql_query()及相同的SQL SELECT 帶上 WHERE 子句的命令來獲取數據。

該函數用於執行SQL命令,然後通過 PHP 函數 mysql_fetch_array() 來輸出所有查詢的數據。

實例

以下實例將從 tutorials_tbl 表中返回使用 tutorial_author 欄位值為 Sanjay 的記錄:

<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
  die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT tutorial_id, tutorial_title, 
               tutorial_author, submission_date
        FROM tutorials_tbl
        WHERE tutorial_author="Sanjay"';

mysql_select_db('TUTORIALS');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
    echo "Tutorial ID :{$row['tutorial_id']}  <br> ".
         "Title: {$row['tutorial_title']} <br> ".
         "Author: {$row['tutorial_author']} <br> ".
         "Submission Date : {$row['submission_date']} <br> ".
         "--------------------------------<br>";
} 
echo "Fetched data successfully\n";
mysql_close($conn);
?>

 

原文地址:http://www.manongjc.com/mysql/mysql_where.html

 

相關閱讀:


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Redis 鍵命令用於管理 redis 的鍵。 語法 Redis 鍵命令的基本語法如下: 實例 在以上實例中 DEL 是一個命令, w3ckey 是一個鍵。 如果鍵被刪除成功,命令執行後輸出 (integer) 1,否則將輸出 (integer) 0 Redis keys 命令 下表給出了與 Red ...
  • cloudera 的 QuickStart VM,為一種免安裝、免設定 Linux 及 Hadoop,已幫你建好 CDH 5.x、Hadoop、Eclipse 的一個虛擬機環境。下載後解壓縮,可直接以 VirtualBox、VMWare、Docker、KVM 任一虛擬機,開啟 Hadoop 2.x ...
  • 作者:Grey 原文地址:http://www.cnblogs.com/greyzeng/p/5346833.html 環境: Windows 10 專業版 Oracle Database 12c Release 1 Flashback示例 場景1: 新建了一張表t_table1, 在某個時間點插入 ...
  • 1.mysql配置文件地址/etc/mysql/my.cnf 2.在[mysqld]在下方添加以下代碼[mysqld]init_connect='SET collation_connection = utf8_unicode_ci'init_connect='SET NAMES utf8'chara ...
  • 9. 存儲 9. 存儲... 1 9.1 存儲引擎... 1 9.1.1 WiredTiger存儲引擎... 1 9.1.1.1 文檔級別併發... 1 9.1.1.2 快照和檢查點... 2 9.1.1.3 Journaling. 2 9.1.1.4 壓縮... 2 9.1.1.5 記憶體使用... ...
  • 如下: 輸出如下: 這個腳本主要利用了mysqladmin提供的功能 ext是extended-status的縮寫~ ...
  • mysql 格式語句規範如何登陸你的資料庫?舉例! 如果你的是 編譯安裝的花 那就得去編譯安裝後的那個目錄中去,我的是安裝到/usr/local/mysql 下登陸資料庫:cd /usr/local/mysqlbin/mysql -u root -p然後輸入密碼mysql-> show databa ...
  • 索引查詢是資料庫中重要的記錄查詢方法,要不要進入索引以及在那些欄位上建立索引都要和實際資料庫系統的查詢要求結合來考慮,下麵給出實際中的一些通用的原則: 1. 在經常用作過濾器的欄位上建立索引; 2. 在SQL語句中經常進行GROUP BY、ORDER BY的欄位上建立索引; 3. 在不同值較少的欄位 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...