比較出大家的異同點,從而加深記憶
這一篇《與MSSQL對比學習MYSQL的心得(七)》也是一樣,相同的地方略略帶過,不同的地方我會給出例子,謝謝大家的支持o(∩_∩)o
這一節主要介紹MYSQL里的基本查詢(MYSQL官方參考手冊)
MySQL中select的基本語法形式:
select 屬性列表
from 表名和視圖列表
[where 條件表達式]
[group by 屬性名[having 條件表達式]]
[order by 屬性名[asc|desc]]
[limit <offset>,row count]
說明:
where子句:按照“條件表達式”指定的條件進行查詢。
group by子句:按照“屬性名”指定的字段進行分組。
having子句:有group by才能having子句,只有滿足“條件表達式”中指定的條件的才能夠輸出。
group by子句通常和count()、sum()等聚合函數一起使用。
order by子句:按照“屬性名”指定的字段進行排序。排序方式由“asc”和“desc”兩個參數指出,默認是按照“asc”來排序,即升序。
建立測試表
創建測試表
| CREATE TABLE fruits( f_id CHAR(10) NOT NULL, s_id INT NOT NULL, f_name CHAR(255) NOT NULL, f_price DECIMAL(8,2) NOT NULL, PRIMARY KEY(f_id)) |
插入測試數據
| INSERT INTO fruits(f_id,s_id,f_name,f_price)VALUES('a1',101,'apple',5.2),('b1',102,'blackberry',5.2),('bs1',105,'orange',5.2),('bs2',103,'melon',5.2),('t1',106,'banana',5.2); |
使用select語句查詢f_id字段的數據
SELECT f_id,f_name FROM fruits

注意:MYSQL中SQL語句是不區分大小寫的,因此select和SELECT作用是相同的
這一點跟SQLSERVER是一樣的!
常用查詢
| SELECT * FROM fruitsSELECT f_id,f_name FROM fruits WHERE f_price >5.1SELECT f_id,f_name FROM fruits WHERE s_id IN(101,102)SELECT f_id,f_name FROM fruits WHERE s_id NOT IN(101,102)SELECT f_id,f_name FROM fruits WHERE f_price BETWEEN 2 AND 10SELECT f_id,f_name FROM fruits WHERE f_price NOT BETWEEN 2 AND 10 |
帶like的字符匹配查詢
1、百分號通配符“%”,匹配任意長度的字符,甚至包括零字符
| SELECT f_id,f_name FROM fruits WHERE f_name LIKE 'b%y' |

2、下劃線通配符“_”,一次只能匹配任意一個字符
下面語句有四個下劃線
| SELECT f_id,f_name FROM fruits WHERE f_name LIKE '____n' |

同樣,在SQLSERVER里面也是有的
| USE [sss]GOSELECT * FROM [dbo].[aaa] WHERE [name] LIKE 's_____' |