1. 程式人生 > >數據庫學習 day2 檢索數據

數據庫學習 day2 檢索數據

sql語句 pre 什麽是數據庫 不同 this column 1.4 int 使用

上一節我們介紹了什麽是數據庫,以及一些基本的數據庫術語

這一課介紹使用SELECT語句從表中檢索一個或多個數據列。

關鍵字(Keyword)

作為SQL組成部分的保留字。關鍵字不能用作表和列的名字(類比C語言中的int、print等)。

1 SELECT語句

它是在SQL語句中最常使用的語句,作用是從一個或多個表中檢索信息。

使用SELECT檢索表數據,需要知道兩個信息,我們要從哪裏進行搜索,搜索哪些內容。

1.2 檢索單列

SELECT column_name -- 列名
FROM table_name; -- 表名

解釋:上述語句用 SELECT 語句從 table_name 表中檢索一個名為 column_name 的列。

列名跟在SELECT後 表名跟在FORM後,這與我們的自然語言相同

註意:

  • 沒有明確排序查詢的結果,則返回的數據沒有特定的順序,這個規定我們將在下一節進行介紹。
  • 多條SQL語句必須加分號
  • SQL不區分大小寫。
  • 使用空格和回車的作用相同,所以SQL語句和寫在一行或多行,但為了代碼清晰易查建議分為多行

1.3 檢索多列

想從一個表中檢索多個列,仍然需要使用 SELECT 語句。唯一的不同就是SELECT後面檢索的內容需用逗號隔開。

SELECT column_name,column_name1,column_name2 -- 列名
FROM table_name; -- 表名

在本例中我們指定了3個列名,彼此用逗號相隔。

註意:

從SQL中檢索出的數據都是原始的數據,無格式數據。規定其格式一般在具體應用該數據的應用程序中進行。

1.4 檢索所有列

SELECT語句還可以檢索出所有列而不必逐個列出它們的名字。在實際列名的位置使用星號(*)通配符可以做到這一點。

SELECT * -- 使用通配符
FROM table_name; -- 表名

給定通配符(*),則返回所有的列。使用通配符的可以檢索出名字未知的列。

1.5 檢索出不同的值

當檢索結果中出現多個重復值時,我們希望每個只出現一次怎麽辦?比如搜索一個年級學生的班級信息就會出現大量的重復,我們只需要不同的班級值

辦法就是使用DISTINCT關鍵字,顧名思義,它指示數據庫返回不同的值。

SELECT DISTINCT column_name -- 檢索不同的值
FROM table_name -- 表名

如果使用DISTINCT關鍵字,它必須放在列名前。

若DISTINCT關鍵字後有多列,不僅僅是作用於一列,而是所有列。

1.6 限制結果

SELECT返回指定列中的所有匹配列,而你想返回1列或指定數量的列怎麽辦呢?這在數據庫操作中是可行的,但各個SQL軟件實現方法不同。

這裏只說明MySQL的實現方法,其他軟件的可以根據需要自行查訊。

MySQL中需要使用LIMIT子句,像這樣

SELECT column_name -- 列名
FROM table_name -- 表名
LIMIT 5;

LIMIT 5指示 MySQL 等 DBMS 返回不超過5行的數據。

為了得到後5行的數據,我們還需指定從哪裏開始檢索

SELECT column_name -- 列名
FROM table_name -- 表名
LIMIT 5 OFFSET 5;

註意:

第一個被檢索的行是第0行,而不是第一行。所以,LIMIT 5 OFFSET 5 會檢索第6行而不是第5行。

2.7 使用註釋

我上面的語句均使用了註釋,使用“--”後面空一格跟需要註釋的內容

當然還有多行註釋

/*this is a note
SELECT   FROM
*/
SELECT column_name -- 列名
FROM table_name -- 表名
LIMIT 5 OFFSET 5;

這在我們調試代碼時很有用,可以讓你無需將錯誤的代碼刪除,只需註釋掉它們就行了

數據庫學習 day2 檢索數據