MYSQL 查詢命令--單表查詢

基本查詢語句

SELECT語句是最常用的查詢語句,它的使用方式有些複雜,但功能是相當強大的。

SELECT語句的基本語法如下:

select selection_list                  //要查詢的內容,選擇哪些列
from 數據表名                           //指定數據表
where primary_constraint        //查詢時需要滿足的條件,行必須滿足的條件
group by grouping_columns       //如何對結果進行分組
order by sorting_cloumns           //如何對結果進行排序
having secondary_constraint      //查詢時滿足的第二條件
limit count 

單表查詢

單表查詢是指從一張表中查詢所需要的數據。所有查詢操作都比較簡單。

1.查詢所有字段

查詢所有字段是指查詢表中所有字段的數據。這種方式可以將表中所有字段的數據都查詢出來。在MySQL中可以使用“*”代表所有的列,即可查出所有的字段,
語法格式如下:

SELECT * FROM 表名;

例子:

create database test; #創建庫
create table info (id int not null,name char(6),score decimal(5,2),age int(4)); #創建表
use test; #進入庫
插入測試數據
insert into info (id,name,score,age)values(1,'san',88,33);
insert into info (id,name,score,age)values(2,'lisi',48,31);
insert into info (id,name,score,age)values(3,'wwu',68,27);
insert into info (id,name,score,age)values(4,'pw',98,25);
insert into info (id,name,score,age)values(5,'wlk',19,37);
insert into info (id,name,score,age)values(3,'lihua',58,23);
SELECT * FROM info;

MYSQL 查詢命令--單表查詢

2.查詢指定字段

單表查詢是指從一張表中查詢所需要的數據。所有查詢操作都比較簡單
查詢指定字段可以使用下面的語法格式:
SELECT 字段名 FROM 表名;

例子:

SELECT name FROM info;

查詢結果:

MYSQL 查詢命令--單表查詢

3.查詢指定數據

如果要從很多記錄中查詢出指定的記錄,那麼就需要一個查詢的條件。設定查詢條件應用的是WHERE子句。通過它可以實現很多複雜的條件查詢。在使用WHERE子句時,需要使用一些比較運算符來確定查詢的條件。

例子:

SELECT * FROM info WHERE name = 'lisi' ;

查詢結果:
MYSQL 查詢命令--單表查詢

4.帶IN關鍵字的查詢

IN關鍵字可以判斷某個字段的值是否在於指定的集合中。如果字段的值在集合中,則滿足查詢條件,該記錄將被查詢出來;如果不在集合中,則不滿足查詢條件。
其語法格式如下:

SELECT * FROM 表名 WHERE 條件 [NOT] IN(元素1,元素2,…,元素n);

例子:

SELECT * FROM info WHERE name in ('lisi','pw') ;

查詢結果:
MYSQL 查詢命令--單表查詢

SELECT * FROM info WHERE name not in ('lisi','kk') ;

查詢結果:
MYSQL 查詢命令--單表查詢

5.帶BETWEEN AND的範圍查詢

BETWEEN AND關鍵字可以判斷某個字段的值是否在指定的範圍內。如果字段的值在指定範圍內,則滿足查詢條件,該記錄將被查詢出來。如果不在指定範圍內,則不滿足查詢條件。
其語法如下:

SELECT * FROM 表名 WHERE 條件 [NOT] BETWEEN 取值1 AND 取值2;

例子:

SELECT * FROM info WHERE age BETWEEN 25 AND 35;

查詢結果:
MYSQL 查詢命令--單表查詢

友情提醒:邊緣值包括在內,25和35都符合條件

6.帶LIKE的字符匹配查詢

LIKE屬於較常用的比較運算符,通過它可以實現模糊查詢。
它有兩種通配符:“%”和下劃線“_”;

例子:

SELECT * FROM info WHERE name LIKE '%w%' ;

查詢結果:
MYSQL 查詢命令--單表查詢

7.用IS NULL關鍵字查詢空值

IS NULL關鍵字可以用來判斷字段的值是否爲空值(NULL)。如果字段的值是空值,則滿足查詢條件,該記錄將被查詢出來。如果字段的值不是空值,則不滿足查詢條件。
其語法格式樣如下:
IS [NOT] NULL

例子:

SELECT * FROM info WHERE age is not NULL;

查詢結果:
MYSQL 查詢命令--單表查詢

8.帶AND的多條件查詢

AND關鍵字可以用來聯合多個條件進行查詢。使用AND關鍵字時,只有同時滿足所有查詢條件的記錄會被查詢出來。如果不滿足這些查詢條件的其中一個,這樣的記錄將被排除掉。
AND關鍵字的語法格式如下:

select * from 數據表名 where 條件1 and 條件2 […AND 條件表達式n];

例子:

SELECT * FROM info WHERE age =33 and name ='san';

查詢結果:
MYSQL 查詢命令--單表查詢

9.帶OR的多條件查詢

OR關鍵字也可以用來聯合多個條件進行查詢,但是與AND關鍵字不同,OR關鍵字只要滿足查詢條件中的一個,那麼此記錄就會被查詢出來;如果不滿足這些查詢條件中的任何一個,這樣的記錄將被排除掉。
OR關鍵字的語法格式如下:

select * from 數據表名 where 條件1 OR 條件2 […OR 條件表達式n];

例子:

SELECT * FROM info WHERE age =23 or name ='san';

查詢結果:
MYSQL 查詢命令--單表查詢

10.用DISTINCT關鍵字去除結果中的重複行

使用DISTINCT關鍵字可以去除查詢結果中的重複記錄
語法格式如下:
select distinct 字段名 from 表名;

例子:

select distinct score from info;

查詢結果:

MYSQL 查詢命令--單表查詢

去重前:
MYSQL 查詢命令--單表查詢

11.用ORDER BY關鍵字對查詢結果排序

使用ORDER BY可以對查詢的結果進行升序(ASC)和降序(DESC)排列,在默認情況下,ORDER BY按升序輸出結果。如果要按降序排列可以使用DESC來實現。
語法格式如下:
ORDER BY 字段名 [ASC|DESC];

例子:

select * from info ORDER BY score;

查詢結果:
MYSQL 查詢命令--單表查詢

12.用GROUP BY關鍵字分組查詢

通過GROUP BY子句可以將數據劃分到不同的組中,實現對記錄進行分組查詢。在查詢時,所查詢的列必須包含在分組的列中,目的是使查詢到的數據沒有矛盾。

例子:

select id,age from info GROUP BY age;

查詢結果:
MYSQL 查詢命令--單表查詢

13.用LIMIT限制查詢結果的數量

查詢數據時,可能會查詢出很多的記錄。而用戶需要的記錄可能只是很少的一部分。這樣就需要來限制查詢結果的數量。LIMIT是MySQL中的一個特殊關鍵字。LIMIT子句可以對查詢結果的記錄條數進行限定,控制它輸出的行數。

例子:

select * from info ORDER BY score LIMIT 3;

查詢結果:

MYSQL 查詢命令--單表查詢

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章