參考資料:《Mysql必知必會》
建立資料表
在學習前首先建立資料表和插入資料。如何安裝mysql可以看看上個部落格https://www.cnblogs.com/lbhym/p/11675599.html
我的資料表和内容如下:
CREATE TABLE commodity (
id int(11) AUTO_INCREMENT,
typeid int,
name varchar(30) ,
price float ,
PRIMARY KEY (id)
) DEFAULT CHARSET=utf8;
AUTO_INCREMENT為自動增長,
PRIMARY KEY (id)設定id為主鍵
DEFAULT CHARSET=utf8;預設編碼為utf8
下面再插入幾條測試資料
insert into commodity values (null,1001,\'牙刷\',10.5),(null,1001,\'毛巾\',21.5),(null,1002,\'茶幾\',999.9),(null,1003,\'電視\',3199),(null,1003,\'冰箱\',2999),(null,1004,\'1 手機\',1999),(null,1004,\'2 手機\',7699),(null,1004,\'.3 手機\',699.9),(null,1005,\'T恤\',21.5),(null,1005,\'牛仔褲\',99)
查詢資料
1.查詢單列資料
select name from commodity
輸出:
牙刷
牛仔褲
毛巾
電視
茶幾
冰箱
T恤
2 手機
1 手機
.3 手機
2.查詢多列資料
select name,price from commodity
輸出:
牙刷 10.5
毛巾 21.5
茶幾 999.9
電視 3199
冰箱 2999
1 手機 1999
2 手機 7699
.3 手機 699.9
T恤 21.5
牛仔褲 99
3.查詢所有列
select * from commodity
這個查詢就是查詢整張表格
4.查詢不同的行
首先做如下查詢:
select typeid from commodity
輸出:
1001
1001
1002
1003
1003
1004
1004
1004
1005
1005
大家會發現有很多行重複了,如果不想出現重複的結果,可以使用distinct關鍵字
select distinct typeid from commodity
輸出:
1001
1002
1003
1004
1005
5.限制查詢結果
當我們不想查詢所有行資料,隻想查詢指定行的資料時,就可以用到limit關鍵字
如下,隻查詢五行資料
select name from commodity limit 5
輸出:
牙刷
毛巾
茶幾
電視
冰箱
還可以指定開始行和行數,如下,查詢從五行開始的五行資料
select name from commodity limit 5,5
輸出:
1 手機
2 手機
.3 手機
T恤
牛仔褲
第一個數是開始的位置,第二個數是限定的行數。如果剩餘資料不夠五行,會查詢剩下的所有資料。
排序查詢資料
1.排序資料
可以使用order by關鍵字對後面跟着的字段進行排序。如下:
select * from commodity order by price
輸出:
1 1001 牙刷 10.5
2 1001 毛巾 21.5
9 1005 T恤 21.5
10 1005 牛仔褲 99
8 1004 .3 手機 699.9
3 1002 茶幾 999.9
6 1004 1 手機 1999
5 1003 冰箱 2999
4 1003 電視 3199
7 1004 2 手機 7699
如果指定排序的字段是字母,就按字母順序排序
2.按多個列排序
除了上面的按一個字段排序,還可以根據多個字段來排序,如下:
select * from commodity order by typeid,price
輸出:
1 1001 牙刷 10.5
2 1001 毛巾 21.5
3 1002 茶幾 999.9
5 1003 冰箱 2999
4 1003 電視 3199
8 1004 .3 手機 699.9
6 1004 1 手機 1999
7 1004 2 手機 7699
9 1005 T恤 21.5
10 1005 牛仔褲 99
上述例子中:會優先按typeid排序,隻有當typeid相同時,才會按price排序
3.指定排序方向
預設的排序方向時升序的,還可以按降序desc來進行排序。如下:
select * from commodity order by price desc
輸出:
7 1004 2 手機 7699
4 1003 電視 3199
5 1003 冰箱 2999
6 1004 1 手機 1999
3 1002 茶幾 999.9
8 1004 .3 手機 699.9
10 1005 牛仔褲 99
2 1001 毛巾 21.5
9 1005 T恤 21.5
1 1001 牙刷 10.5