比较出大家的异同点,从而加深记忆
这一篇《与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_____' |