程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 6、基本查詢操作

6、基本查詢操作

編輯:MySQL綜合教程

在數據庫的操作中,開發人員或者用戶為了取得數據記錄,需要檢索數據表中的信息。在SQL語句中,檢索數據記錄是通過SELECT語句來完成的。SELECT語句可以檢索數據表或者視圖中的數據,並將查詢出來的數據以結果集的形式顯示出來。
1.查詢全部列的記錄
在SQL語句中,如果想要檢索數據表中全部列的記錄,就需要對數據表中的所有列進行查詢。在SQL語句中,提供了一種方便查詢數據表或者視圖的所有列的方法,其語法格式如下:

 
 表名或者視圖名
其中,SELECT語句後面的“*”號表示查詢數據表中的所有列,FROM子句後面的表名或者視圖名用來表示指定要查詢數據表或者視圖的名字。[]裡面指定的表名或者視圖是可選的,也就是說,FROM子句後面可以跟多個表或者視圖的名字,多個表或者視圖之間用逗號分開。
說明:FROM字句後面最多可以指定256個表或者視圖的名稱。
2.查詢表中指定的列
在實際開發應用中,很多時候,開發人員或者用戶並不希望看到數據表中所有的記錄,而只是對數據表中其中某一列或者某幾列的數據感興趣,此時就需要查詢數據表中指定列的信息。在SELECT語句中查詢數據表或者視圖指定列的語法格式如下:
 目標列
 表名或者視圖名
其中,SELECT語句後面的目標列表示要查詢的指定列的名字。[]裡面指定的目標列式可選的。也就是說,SELECT語句中指定的目標列可以是一列也可以是多個列,指定多個列時,多個列名之間需要用逗號分開。FROM子句後面的表名或者視圖名用來表示指定要查詢數據表或者視圖的名字。[]裡面指定的表名或者視圖是可選的,也就是說,ROM語句後面可以跟多個表或者視圖的名字,多個表或者視圖之間用逗號分開。
3.查詢表中不重復的記錄
在使用SELECT語句執行查詢操作時,檢索的是數據表中所有滿足條件的行,如果數據表中有重復行也會被查詢出來。在實際應用中,往往不希望看到結果中有重復的記錄行存在。為了在查詢結果中不顯示重復的記錄行,在SELECT語句中就需要加上一個DISTINCT關鍵字排除查詢結果中的重復行記錄,格式如下:
  目標行
 表名或者視圖名
4.使用列別名查詢
在前面的SELECT語句顯示的查詢結果中,可以看到查詢結果中顯示的列的名字就是SELECT語句中指定的在數據表中定義的列的名字。這些在數據表的中定義的列的名字一般都是英文。有時,為了更好的理解某一列顯示的信息,在SELECT語句中可以使用列別名的形式改變查詢結果中顯示的列的名字。其語法格式如下:
SELECT目標列 [AS] 列別名[,目標列 [AS] 列別名…]
FROM 表名或者視圖名[,表名或者視圖]
其中,SELECT語句後面的目標列表示要查詢的指定列的名字。AS關鍵字後面跟的就是要使用的列別名,其中關鍵字AS是可選的。
 stuID  學生編號, stuName  學生姓名, age  年齡, sex  性別, birth  T_student
在查詢結果中,列標題變成了別名的形式。說明:在SELECT語句中,可以使用一個空格代替關鍵字AS,空格後面再跟上列別名的名稱。
如果列別名中包含空格或特殊字符,例如點號(.)、逗號、分號、冒號等,此時就需要使用單引號或雙引號將別名引起來。
5.對查詢的記錄進行算術運算
SELECT語句中還可以使用算術運算符對指定的列進行算術運算。其中算術運算符包括加(+)、減(-)、乘(×)、除(÷)。其中乘除SELECT語句中的優先級高於加減運算符的優先級。通過使用算術運算可以取得所需要列的特定結果。
 teaID  教師編號,teaName  教師姓名, salary  T_teacher
說明:SELECT語句中進行算術運算,只會改變顯示的查詢結果,並不會改變數據表中查詢的原有值。
6.使用連接符(||)連接字段
在使用SELECT語句查詢的過程中,有時需要將兩個或者是更多的字段連接起來顯示一個更有意義的結果。在SELECT語句中,如果需要將多個字段連接起來,在Oracle數據庫中可以使用“||”連接符來完成。下面來看一個使用“||”連接符的例子。
MYSQL數據庫和Microsoft SQL server數據庫不支持使用"||"連接符連接字段,如果想要連接多個字段,在MYSQL中可以使用CONCAT函數;在SQL server中直接使用加號(+)運算符即可。
7.關於NULL值
在數據庫中,如果沒有為該列賦值,而且該列沒有默認值,此時查詢的結果就為空值,即NULL。NULL既不表示空格,也不表示0。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved