编写顺序
-- S..F..W..G..H..O
select .. from .. where .. group by .. having .. order by
-- 执行顺序
F..W..G..H..S..O
from.. where.. group by ..having .. select .. order by
1.增删改
INSERT INTO
表名(列名,列名)
VALUES
('字段','字段')
UPDATE
表名
SET
user_name = '老李'
WHERE
user_id = 8
DELETE FROM
表名
WHERE
user_id = 8
2.分页
select
*
from
stu
limit
5
offset
5
limit 5表示每页查五条数据
offset 5 表示从第五条数据开始
select
*
from
stu
limit
5,2
limit后面是从第5条开始读,读取2条信息。
3.字符串拼接
1.
CONCAT(str1,str2,...)
SELECT CONCAT
('工号为:',FNumber,'的员工的幸福指数:',FSalary/(FAge-21))
2.
CONCAT_WS:
可以在待拼接的字符串之间加入指定的分隔符,它的第一个参数值为采用的分
隔符,而剩下的参数则为待拼接的字符串值
SELECT
CONCAT_WS(
','
,FNumber,FAge,FDepartment,FSalary)
FROM
T_Employee
4.having 与where的区别
where:
只能对表中的
字段名
进行筛选
having:
对查询结果中的列发挥作用,筛选数据
例:
查询本店商品价格比市场价低多少钱,输出低200元以上的商品
这里不能用where因为s是查询结果,而where只能对表中的字段名筛选
select
goods_id,market_price
-
shop_price
as
s
from
goods
having
s
<
200
;
如果用where的话则是:
select
goods_id
from
goods
where
market_price
-
shop_price
<
200
;