MySQL常用语句

select

-- 可以用 * 表示所有字段。       

        select * from tb;   

-- 可以使用表达式(计算公式、函数调用、字段也是个表达式)

        select stu, 29+25, now() from tb;   

-- 可以为每个列使用别名。适用于简化列标识,避免多个列标识符重复。       

- 使用 as 关键字,也可省略 as.       

select stu+10 as add10 from tb;

​​​​​​​FROM 子句

用于标识查询来源。   

-- 可以为表起别名。使用as关键字。       

SELECT * FROM tb1 AS tt, tb2 AS bb;   

-- from子句后,可以同时出现多个表。       

-- 多个表会横向叠加到一起,而数据会形成一个笛卡尔积。       

SELECT * FROM tb1, tb2;   

-- 向优化符提示如何选择索引       

USE INDEXIGNORE INDEXFORCE INDEX       

SELECT * FROM table1 USE INDEX (key1,key2) WHERE key1=1 AND key2=2 AND key3=3;

SELECT * FROM table1 IGNORE INDEX (key3) WHERE key1=1 AND key2=2 AND key3=3;

​​​​​​​WHERE 子句

-- from获得的数据源中进行筛选。   

-- 整型1表示真,0表示假。   

-- 表达式由运算符和运算数组成。       

-- 运算数:变量(字段)、值、函数返回值       

-- 运算符:           

=, <=>, <>, !=, <=, <, >=, >, !, &&, ||,           

in (not) null, (not) like, (not) in, (not) between and, is (not), and, or, not, xor           

is/is not 加上ture/false/unknown,检验某个值的真假           

<=><>功能相同,<=>可用于null比较

​​​​​​​GROUP BY 子句, 分组子句

GROUP BY 字段/别名 [排序方式]   

分组后会进行排序。升序:ASC,降序:DESC   

以下[合计函数]需配合 GROUP BY 使用:   

count 返回不同的非NULL值数目 

count(*)count(字段)   

sum 求和   

max 求最大值   

min 求最小值   

avg 求平均值   

group_concat 返回带有来自一个组的连接的非NULL值的字符串结果。组内字符串连接。

​​​​​​​HAVING 子句,条件子句

where 功能、用法相同,执行时机不同。   

where 在开始时执行检测数据,对原数据进行过滤。   

having 对筛选出的结果再次进行过滤。   

having 字段必须是查询出来的,where 字段必须是数据表存在的。   

where 不可以使用字段的别名,having 可以。因为执行WHERE代码时,可能尚未确定列值。

where 不可以使用合计函数。一般需用合计函数才会用 having   

SQL标准要求HAVING必须引用GROUP BY子句中的列或用于合计函数中的

​​​​​​​ORDER BY 子句,排序子句

order by 排序字段/别名 排序方式 [,排序字段/别名 排序方式]...   

升序:ASC,降序:DESC   

支持多个字段的排序。

​​​​​​​LIMIT 子句,限制结果数量子句

仅对处理好的结果进行数量限制。将处理好的结果的看作是一个集合,按照记录出现的顺序,索引从0开始。   

limit 起始位置, 获取条数   

省略第一个参数,表示从索引0开始。limit 获取条数

​​​​​​​DISTINCT, ALL 选项

distinct 去除重复记录   

默认为 all, 全部记录​​​​​​​

​​​​​​​UNION

将多个select查询的结果组合成一个结果集合。   

SELECT ... UNION [ALL|DISTINCT] SELECT ...   

默认 DISTINCT 方式,即所有返回的行都是唯一的   

建议,对每个SELECT查询加上小括号包裹。   

ORDER BY 排序时,需加上 LIMIT 进行结合。   

需要各select查询的字段数量一样。   

每个select查询的字段列表(数量、类型)应一致,因为结果中的字段名以第一条select语句为准。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值