一.檢索資料
1.SELECT prod_name FROM products;--//從表products中檢索一個名為prod_name的列。
2.SELECT prod_id,prod_name,prod_price FROM products;--//從表products中檢索名為prod_id,prod_name,prode_price的列。
3.SELECT * FROM prdoucts;--//檢索表products中的所有的列。
4.SELECT vend_id FROM products;//檢索表products中的名為vend_id的列。
5.SELECT DISTINCT vend_id FROM products;//檢索表products中的名為vend_id的列,但返回不同的資料。
6.SELECT DISTINCT vend_id,prod_price FROM products;//檢索表products中的名為vend_id的列,返回不同的資料,檢索名為prod_price的列。
7.SELECT prod_name FROM products LIMIT 5;//返回行不多於5行。
8.SELECT prod_name FROM products LIMIT 5,5;//5,5 開始位置,檢索行數(行號從0開始)
9.SELECT products.prod_name FROM products;//完全限定的表名
二.排序資料
1.SELECT prod_name FROM products;//無排序
2.SELECT prod_name FROM products ORDER BY prod_name;//以prod_name的字母順序排序
3.SELECT prod_id,prod_price,prod_name FROM products ORDER BY prod_price,prod_name;//先按price再按name排序。
4.SELECT prod_id,prod_price,prod_name FROM products ORDER BY prod_price DESC;//按價格降序排序。
5.SELECT prod_id,prod_price,prod_name FROM products ORDER BY prod_price DESC,prod_name;//先按價格降序排列,再按name順序排序。(如要在多個列上以降序排序,則必須對每個列指定DESC關鍵字)
6.SELECT prod_price FROM products ORDER BY prod_price LIMIT 1;//使用組合關鍵字找出最貴物品(ORDER BY 和 LIMIT 語句的順序不能改變)
三.過濾資料
1.SELECT prod_name,prod_price FROM products WHERE prod_price=2.50;//從products檢索兩個列,返回prod_price的值為2.50的行。
2.條件運算子:
=,<>(不等於),!=,<,<=,>,>=
3.SELECT prod_name,prod_price FROM products WHERE prod_nam='fuse';//從products檢索兩個列,返回prod_name的值為fuse的行。
4.SELECT prod_name,prod_price FROM products WHERE prod_price<10;//
5.SELECT prod_name,prod_price FROM products WHERE prod_price<=10;
6.SELECT prod_id,prod_name FROM products WHERE prod_id<>1003;//
7.SELECT prod_name,prod_price FROM products WHERE prod_price BETWEEN 5 AND 10;//檢索價格在5~10之間的產品(包括5和10)。
8.SELECT prod_name FROM products WHERE prod_price is NULL;//
9.SELECT prod_id,prod_price,prod_name FROM products WHERE vend_id=1003 AND prod_price<=10;
10.SELECT prod_name,prod_price FROM products WHERE vend_id=1002 OR vend_id=1003;
11.SELECT prod_name,prod_price FROM product WHERE vend_id=1002 OR vend_id=1003 AND prod_price>=10;//返回id為1002 和i d為1003且價格大於10的行(and的優先順序高於or先結合and前後再結合or)
12,SELECT prod_name,prod_price FROM product WHERE (vend_id=1002 OR vend_id=1003) AND prod_price>=10//返回id為1002或1003 且 價格大於10的行。
13.SELECT prod_name,prod_price FROM product WHERE vend_id IN (1002,1003) ORDER BY prod_name;//返回id為1002,1003,所製造產品的名字。in的優點相比於OR,1.更加直觀清楚。2.執行更快。3.可包含其他SELECT語句
14.SELECT prod_name,prod_price FROM product WHERE vend_id NOT IN (1002,1003) ORDER BY prod_name;//
四.用萬用字元進行過濾
1.%表示任何字元出現任意次數
SELECT prod_id,prod_name FROM product WHERE prod_name like 'jet%';//‘jet%’表示以jet為開頭大的詞,%告訴MySQL接受jet以後的任意字元。
SELECT prod_id,prod_name FROM product WHERE prod_name like '%anvil%';
SELECT prod_id,prod_name FROM product WHERE prod_name like 's%e';
2._表示任意單個字元
SELECT prod_id,prod_name FROM product WHERE prod_name like '_ ton anvil';//返回例如1 ton anvil。
3.不要過度使用萬用字元,如果其他操作能達到,優先使用其他
4.不要在搜尋模式的開頭處