MySQL表查詢操作命令,MySQL表操作命令

來源:互聯網
上載者:User

MySQL表查詢操作命令,MySQL表操作命令
1.基本查詢語句
文法:
select 屬性列表
from 表名(視圖)列表
[where 條件運算式 1]
[group by 屬性名稱 1 [having 條件運算式 2]]
[order by 屬性名稱 2 [asc | desc]]
asc:升序
desc:降序
2.欄位查詢
例子:
select * from subject;/*查詢表中所有資料*/
3.查詢指定欄位
select SubjectName from subject;
4.查詢指定記錄
select SubjectName from subject where SubjectNo = 1 ;
5.查詢條件 符號或關鍵字
比較 =、<、<=、>、>=、!=、<>、!>、!<
指定範圍 between and、not between an
指定集合 in、not in
匹配字元 like、not like
是否為空白 is null、is not null
多個查詢條件 and、or
6.查詢結果去重 distinct
select distinct SubjectNo from subject;
7.order by(預設是升序排列)[asc | desc]
select SubjectName from subject order by SubjectNo;
--多欄位排序:
先按照第一個欄位排序,如果遇到相同資料再按照第二個欄位排序
8.group by    分組查詢
8.1 單獨使用group by ,會顯示每個組的一條記錄
8.2 group_concat() 結合使用-----------以sex分組,獲得每組的name
select sex ,group_concat(name) from employee group by sex;
8.3 與彙總函式結合使用------------以sex分組,擷取每群組成員的個數
select sex ,count(sex) from employee group by sex;
8.4 與where結合使用,限制查詢條件
8.5 與having結合使用,篩選查詢的結果


8.6 多個欄位分組
select * from employee group by id , name ;
8.7 與with rollup結合使用-----會加上一條資料,該資料顯示所有查詢到的資料的總和
select * from employee group by id , name with rollup;
8.8 限制查詢結果數量
select * from employee group by id limit 3;/*顯示三條查詢到的結果*/
select * from employee group by id limit 0,10;/*顯示下標從0到10的查詢結果*/
9.彙總函式查詢 
count
select count(id) from employee ;/*查詢欄位id中所有記錄的數量*/
sum(),avg(),max(),min()  同count的用法
10.連結查詢
10.1 內串連查詢(where | inner join...on... )
(內串連是完全符合,即 A 表與 B 表一一對應,一方沒有,則該記錄不會被查出)
10.2 左外連結 (left join...on)
(以左表為主表,顯示主表的所有資訊,而與右表無匹配資訊時則顯示 NULL)
10.3 右外串連 (right join...on)
(以右表為主表,顯示右表中的所有資訊)
10.4 複合查詢 (inner | left | right join...on...where...)
11.子查詢
子查詢:將一個查詢語句嵌套在另一個查詢語句中。內層查詢語句的查詢結果可為外層查詢提供條件
11.1 帶in關鍵字 [not in]
select * from employe where id in (select id from department);
11.2 帶比較子
11.3 帶exists關鍵字
11.4 帶any關鍵字(滿足子查詢中的其一即可,則執行父查詢)
select SubjectName,GradeId from subject
where GradeId >= any
(select GradeId from grade);
11.5 帶all關鍵字(滿足子查詢中的所有,則執行父查詢)
select SubjectName,GradeId from subject
where GradeId >= all
(select GradeId from grade);
12. 合并查詢結果
12.1 union(合并查詢結果去處重複)
select * from employee
union
select * from department;
12.2 union all (合并查詢結果不去除重複)
13. 為表和欄位取別名  as
13.1 為表取別名
select * from employee as 員工 where id < 11 ;
13.2 為欄位取別名
select studentName as 學生姓名 from student;
as子句作用
可以給資料列取一個新別名
可以給表取一個新別名
可把經計算總結的結果用另一個新的名稱來代替
注意:as也可以省略不寫
13.3 select concat(email,@ibeifeng.com) as email from student;--查詢郵箱
14.like 關鍵字(模糊查詢)
select name from class where name like '劉%'['劉_'];
%表示匹配所有
_代表匹配一個字元
15.in 關鍵字 子查詢(在一個範圍內尋找)
select name from class where age in (10,11);
16.注意點:
--數值資料類型的記錄之間才能進行算數運算;
--相同資料類型的資料才能進行比較;
17. limit 限制查詢
select * from tableName limit 5;#返回查詢結果的前五條資料
select * from tableName limit 5,10;#返回查詢結果的第6-10條資料
18.union合并查詢 
union 合并完全相同資料(相同的資料顯示一條,和不相同的資料一起顯示)
union all  顯示兩張表查詢出來的資料,不管相同不相同都會顯示
eg:
select name from subject
union [all]
select name from myclass ; 查看評論

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.