還是一樣,這篇文章是為了我自己sql方面做的筆記,如果這篇文章沒有你想要的東西,那麼我很抱歉。如果有你想要的知識,我很開心的幫助到了你。
1.1檢索單個列
select prod_name from products;
上述語句利用select語句從products表中檢索乙個名為prod_name的列。所需的列名寫在select關鍵字之後,from關鍵字指出從哪個表中檢索資料。
上圖中的prod_name即為我檢視的東西。
如果你自己試驗這個查詢,可能會發現顯示輸出的資料順序與這裡的不同。出現這種情況很正常。如果沒有明確排序查詢結果,則返回的資料沒有特定的順序。返回資料的順序可能是資料被新增到表中的順序,也可能不是。只要返回相同數目的行,就是正常
的。在處理
sql語句時,其中所有空格都被忽略。
sql語句可以寫成長長的一行,也可以分寫在多行。
1.2 處理多個了列
select prod_id, prod_name, prod_price
from products;
在選擇多個列時,一定要在列名之間加上逗號,但最後乙個列名後不加。如果在最後乙個列名後加了逗號,將出現錯誤。
prod_name和prod_price是我想要檢視的東西。
1.3 檢索所有列
除了指定所需的列外(如上所述,乙個或多個列),select語句還可以檢索所有的列而不必逐個列出它們。在實際列名的位置使用星號(*)萬用字元可以做到這點,如下所示。
使用萬用字元有乙個大優點。由於不明確指定列名(因為星號檢索每一列),所以能檢索出名字未知的列。這是乙個sql注入的點
1.4 檢索出不同的值
select語句返回所有匹配的行。但是,如果你不希望每個值每次都出現,該怎麼辦呢? 如上圖所看到的vend_id是許多重複的,我只想讓重複的出現一次,要用到下面的命令。
select distinct vend_id
from products;
select distinct vend_id告訴
dbms
只返回不同(具有唯一性)的vend_id行,所以正如下面的輸出,只有3行。
警告:不能部分使用distinct
distinct關鍵字作用於所有的列,不僅僅是跟在其後的那一列。例如,你指定select distinct vend_id, prod_price,除非指定的兩列完全相同,否則所有的行都會被檢索出來。
1.5 限制結果
select語句返回指定表中所有匹配的行,很可能是每一行。如果你只想返回第一行或者一定數量的行,該怎麼辦呢?這是可行的,然而遺憾的是,各種資料庫中的這一sql
實現並不相同。 在這裡我只用mysql的語句用法。
select prod_name
from products
limit 5;
上述**使用select語句來檢索單獨的一列資料。limit 5指示
mysql
等dbms
返回不超過
5行的資料。
這個結果請自行與上文對比是否正確。
select prod_name
from products
limit 5 offset 5;
limit 5 offset 5指示
mysql
等dbms
返回從第
5行起的
5行資料。第乙個數字是指從哪兒開始,第二個數字是檢索的行數。
limit指定返回的行數。帶offset的limit指定從哪兒開始。在我們的例子中,products表中只有
9種產品,所以limit 5 offset 5只返回了
4行資料(因為沒有第5行)
警告:第
0行
第乙個被檢索的行是第
0行,而不是第
1行。因此,limit 1 offset 1
會檢索第2
行,而不是第0行。
mysql
和mariadb
快捷鍵
mysql
和mariadb
支援簡化版的limit 4 offset 3語句,即limit 3,4。使用這個語法,,之前的值對應limit, 逗號之後的值對應offset。
SQL基礎教程
sql是用於訪問和處理資料庫的標準的計算機語言。什麼是sql?sql指結構化查詢語言 sql是我們有能力訪問資料庫 sql是一種更ansi的標準計算機語言 sql能做什麼?sql面向資料庫執行查詢 sql可從資料庫取回資料 sql可在資料庫中插入新的記錄 sql可以更新資料庫中的資料 sql可以從資...
SQL基礎教程
1.sql 指的是?structured query language 2.哪個 sql 語句用於從資料庫中提取資料?select 3.哪條 sql 語句用於更新資料庫中的資料?update 4.哪條 sql 語句用於刪除資料庫中的資料?delete 5.哪條 sql 語句用於在資料庫中插入新的資料...
SQL語句基礎教程 二
三 技巧 1 1 1,1 2的使用,在sql語句組合時用的較多 where 1 1 是表示選擇全部 where 1 2 全部不選,如 if strwhere begin set strsql select count as total from tblname where strwhere ende...