DQL 查询
1. 查询所有得字段
select * from 表名
2.查询指定字段
select 字段1,字段2....from 表名
- 给字段起别名
select 字段1 as 别名,字段2... from 表名
- 注意点:
关于起别名得问题,as可以省略也可以写
3.去重操作
- select distinct brand_id from tp_goods
- distinct 关键字,去重操作
4.条件筛选
- select 指定字段 from 表名 where 条件
5.排序
select * from 表名 order by 字段1 desc|asc,字段2 desc|asc
6.分页
select 字段 from 表名 limit 位置,个数(从那一段开始取多少条数据)
7.聚合函数
- count 统计个数
- sum 求和
- avg 平均值
- max 最大值
- min 最小值
8.分组
- 规则
select 分组依据(分组字段名),group_concat(需要找展示得字段1,字段2...) from 表名 group by 字段名
- where having
- where 在原始数据上就能进行条件筛选
- having 分组之后的条件筛选
- concat:链接两个字段
9.切割,替换字符串
- 切割字符串-SUBSTR
SELECT SUBSTR('abc123'1,1)
- 拼接字符串-CONCAT
SELECT CONCAT('abc','123')
- 字符串长度-LENGTH
SELECT LENGTH('abc123')
- insert 替换
SELECT INSERT('asd',1,2,'qwe')
# insert 替换从1个位置开始 替换第2个字符
#insert 参数是旧字符串 替换位置 替换长度 新字符串
- TRIM-截取
SELECT TRIM(' absedfgh ')# 截取去空格
- LTRIM-左边截取
SELECT LTRIM(' absedfgh ') #左边截取 去空格
- RTRIM-右边截取
SELECT RTRIM(' absedfgh ') #右边截取 去空格
- REPLACE-替换
SELECT REPLACE('asd123','1','qwe')#替换 字符串 把1替换成qwe
- TRUNCATE-截断
SELECT TRUNCATE(1.23456,2)# 截断 取1.23
- ROUND-截取(四舍五入)
#前面是数据额 1是取几位小数 1可变 四舍五入 SELECT ROUND(1.454,1)#前面是数据额 1是取几位小数 1可变 四舍五入
- MOD-取余数
#取余数 4除2 取0 3除2 取1 SELECT MOD(4,2)#取余数 4除2 取0 3除2 取1
10.case 格式
CASE 字段
WHEN 表达式1 THEN 输出值1
WHEN 表达式2 THEN 输出值2
...
ELSE 输出值
END
11.0 子查询
11.1定义
案例
11.3子查询分类
12 视图-查询
- 试图封装
CREATE VIEW v1
AS
SELECT goods_id,goods_name from tp_goods WHERE tp_goods.goods_id BETWEEN 50 AND 60
- 使用试图
SELECT * FROM v1
- 语法规则
CREATE VIEW 视图名
AS
合法有效的SQL语句
- 使用场景
保存复杂的sql语句
12.1 修改视图
create or replace
as
合法有效的sql语句
alter viem 视图名
as
合法有效的sql语句
12.2 删除视图
drop view 视图1,视图2,视图3
12.3更新视图数据
insert into 视图名(字段1,字段2,字段...) values(值1,值2,值3...)
insert into 视图名 values(值1,值2,值3...)#值得个数必须和字段个数保持一致
12.4更新
update 视图 set 字段1=值1,字段2=值2 where 条件1
12.5删除
delete from 视图 where 条件筛选1,条件筛选2...
12.6注意点
修改视图,涉及到原始表 一般情况下,视图只赋予读权限
13.存储过程-增、删、改
案例
delimiter $
create procedure p1()
begin
insert into boys values(13,'李斯',1)
(14,'王五',12)
(15,'张三',0)
end
- 定义
- 规则
delimiter $ #申明修改结束符
create procedure p1()
begin
合法有效得sql语句,存在;结尾
end$
-
调用
call 存储过程()
-
使用场景
一般增、删、改
INSERTINTO boys VALUES(9,'张三',0)
SELECT *FROM boys
INSERT INTO boys VALUES(13,'李四',1),(14,'王五',12),(15,'张三,0)
DELIMITER $
CREATE PROCEDURE p1()
BEGIN
INSERT INTO boys VALUES(13,'李四',1),(14,'王五',12),
(15,'张三',0);
END;
CALL p1()
最后: 可以关注公众号:伤心的辣条 ! 进去有许多资料共享!资料都是面试时面试官必问的知识点,也包括了很多测试行业常见知识,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!喜欢交流学习的软件测试人,可以加入我们的技术交流扣扣群:914172719(里面还有超多学习资料免费分享哟)…
好文推荐
转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!
面试经:一线城市搬砖!又面软件测试岗,5000就知足了…
面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…
什么样的人适合从事软件测试工作?
那个准点下班的人,比我先升职了…
测试岗反复跳槽,跳着跳着就跳没了…