软件测试最全火爆全网,软件测试数据库常用 SQL 语句总结,你要的我都有,2024年最新干货精讲

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

-- 新增数据,字段顺序、数据顺序一定要一致;非空列一定要有;类型也要匹配
INSERT INTO tb_product(product_code,product_name,quantity,price,city,description)
VALUES('tv','电视机',150,43.27,'长沙','这是一台计算机。');
INSERT INTO tb_product(product_code,product_name,quantity,price,city,description)
VALUES('iPhone','苹果手机',100,8999,'北京','这是一台苹果手机。');
INSERT INTO tb_product(product_code,product_name,quantity,price,city,description)
VALUES('xiaomi','小米手机',13,2999,'上海','这是一台小米手机。');
INSERT INTO tb_product(product_code,product_name,quantity,price,city,description)
VALUES('oppo','欧泊手机',70,2499,'广州','这是一台欧泊手机。');
INSERT INTO tb_product(product_code,product_name,quantity,price,city,description)
VALUES('vivo','维沃手机',98,2199,'深圳','这是一台维沃手机。');
INSERT INTO tb_product(product_code,product_name,quantity,price,city,description)
VALUES('tt','锤子手机',NULL,NULL,'上海','这是一台锤子手机。');

INSERT INTO tb_order(order_price,city,remark,product_id) VALUES(7999,'天津','一次愉快的购买。',1);
INSERT INTO tb_order(order_price,city,remark,product_id) VALUES(1555,'长沙','一次愉快的购买。',2);
INSERT INTO tb_order(order_price,city,remark,product_id) VALUES(2800,'重庆','一次不愉快的购买。',4);
INSERT INTO tb_order(order_price,city,remark,product_id) VALUES(1200,'杭州','重复购买。',4);
INSERT INTO tb_order(order_price,city,remark,product_id) VALUES(1200,'武汉','下次再买。',5);

select * from tb_product;
select * 
-- 修改数据
UPDATE tb_product SET description = CONCAT(description,'特价甩卖...');
UPDATE tb_product SET description = CONCAT(description,'低到1块...') WHERE product_code='xiaomi';

-- 删除数据
DELETE FROM tb_product WHERE product_code='xiaomi';

-- 删除全表数据
DELETE FROM tb_order;
DELETE FROM tb_product;
TRUNCATE TABLE tb_product;

数据查询语言(DQL)

主要负责数据表数据的查询操作
常用的语句有:SELECT,查询操作在SQL中使用非常多,还有一些复杂的如排序、多表查询、分组等处理
常用的数据查询语言示例如下

-- 【1、查询系统参数】
-- 端口、目录、数据存放目录、服务器id
SELECT @@port,@@basedir,@@datadir,@@server_id;

-- 【2、查询常用函数】
SELECT NOW(),USER(),CONCAT('同志们,','大家好!','欢迎光临。') AS welcome;

-- 【3、查询条件】
-- 查询所有
SELECT * FROM tb_product;
-- 按条件查询,可以使用运算符进行操作
SELECT * FROM tb_product WHERE product_code ='iPhone';
SELECT * FROM tb_product WHERE product_code like '%i%';
SELECT * FROM tb_product WHERE quantity BETWEEN 50 AND 100;
SELECT * FROM tb_product WHERE quantity IS NOT NULL;
SELECT * FROM tb_product WHERE product_code in ('tt','xiaomi');

-- 【4、排序】
SELECT * FROM tb_product ORDER BY price DESC;
SELECT * FROM tb_product ORDER BY product_code DESC;

-- 【5、多表联合查询】
-- 左连接
SELECT * FROM tb_product LEFT JOIN tb_order ON tb_order.product_id = tb_product.id;
-- 右连接
SELECT * FROM tb_product RIGHT JOIN tb_order ON tb_order.product_id = tb_product.id;
-- 完全连接
SELECT * FROM tb_product JOIN tb_order ON tb_order.product_id = tb_product.id;
-- 笛卡尔积连接
SELECT * FROM tb_product,tb_order;

-- 【6、分组】
SELECT tb_order.product_id,tb_product.product_code,COUNT(1),SUM(tb_order.order_price),AVG(tb_order.order_price)
FROM tb_order LEFT JOIN tb_product on tb_product.id = tb_order.product_id
GROUP BY tb_order.product_id,tb_product.product_code
HAVING COUNT(1)>1

-- 【7、分页】
SELECT * FROM tb_product;
SELECT * FROM tb_product LIMIT 2,2;  -- 起始、条数
SELECT * FROM tb_product ORDER BY product_code LIMIT 3 OFFSET 2 ;  -- 条数、偏移量

-- 【8、UNION】
-- UNION,会去重
SELECT city FROM tb_product
UNION
SELECT city FROM tb_order;
-- UNION ALL,不会去重
SELECT city FROM tb_product
UNION ALL
SELECT city FROM tb_order;

数据控制语言(DCL)

主要负责用户创建、授权、权限回收操作,一般主要由DBA来操作
常用的语句有:CREATE USER、GRANT、REVOKE等
常用的数据控制语言示例如下

-- 创建用户,localhost:只允许从本地ip访问;%:允许从所有的ip访问
CREATE USER 'a1'@'%' IDENTIFIED BY 'Password^';
-- 用户授权,权限可以包括、insert、update、delete、references、create、alter、drop、create view、execute等,多个用逗号分隔
-- 尾部添加WITH GRANT OPTION,可让被授权者也能将这个权限授予其他人
GRANT ALL PRIVILEGES ON  db_demo.* TO 'a1'@'%' IDENTIFIED BY 'Password^';  -- 所有权限
-- GRANT SELECT ON  db_demo.* TO 'a1'@'%' IDENTIFIED BY 'Password^';   -- 只有查询权限
-- 回收权限
REVOKE INSERT ON db_demo.* from 'a1'@'%';  -- 回收新增权限
-- 删除用户
DROP USER 'a1'@'%';

-- 刷新权限,配置完后都要刷新
FLUSH PRIVILEGES;

-- 查询表中数据
select * from mysql.user

-- 查看用户权限
SHOW GRANTS FOR 'a1'@'%'

事务控制语言(TCL)

主要负责用多条语句形成原子性的事务操作
常用的语句有:SET AUTOCOMMIT、ROLLBACK、COMMIT、SAVEPOINT等
常用的事务控制语言示例如下

-- 【方式1】
-- 开启显式事务
SET AUTOCOMMIT = 0;
-- 查看数据
SELECT * FROM tb_product;
-- 插入一条数据
INSERT INTO  tb_product(product_code,product_name,quantity,price,description) 
VALUES('c10','n10',50,1523.58,'d10'); 
-- DDL,会默认提交事务
-- create table tb_demo
-- (
-- 	id INT,
-- 	name VARCHAR(20)
-- );
-- 查看数据
SELECT * FROM tb_product; 
-- 回滚显示事务
ROLLBACK;
-- 提交事务
COMMIT;
-- 查看数据
SELECT * FROM tb_product;  
-- 关闭显式事务
SET AUTOCOMMIT = 1;

-- 【方式2】
-- 开启事务
START TRANSACTION;
-- 查看数据
SELECT * FROM tb_product; 
-- 插入一条数据
INSERT INTO  tb_product(product_code,product_name,quantity,price,description) 
VALUES('z1','z1',40,1223.58,'z1'); 
-- 查看数据
SELECT * FROM tb_product; 
-- 设置回滚点
SAVEPOINT my_point;
-- 插入另一条数据
INSERT INTO  tb_product(product_code,product_name,quantity,price,description) 
VALUES('z9','z9',40,1223.58,'z9');
-- 查看数据
SELECT * FROM tb_product; 
-- 回滚全部
-- ROLLBACK;
-- 回滚到回滚点
ROLLBACK TO my_point;
-- 查看数据
SELECT * FROM tb_product; 
-- 提交结束事务
COMMIT;

指针控制语言(CCL)

主要负责用于数据遍历的操作
常用的语句有:DECLARE…CURSOR…、OPEN、FETCH…INTO…、CLOSE等
常用的指针控制语言示例如下

-- 创建存储过程
-- 业务逻辑:取给定最小价格以上的产品总数
CREATE PROCEDURE my_proc(IN min_price DECIMAL(7,2),OUT quantity_total INT)
BEGIN
	-- 设置游标变量
	DECLARE _id INT;
	DECLARE _product_code VARCHAR(100);
	DECLARE _product_name VARCHAR(200);
	DECLARE _quantity INT;
	DECLARE _price DECIMAL(7,2);
	DECLARE _description VARCHAR(2000);
	-- 设置汇总数量
	DECLARE total INT DEFAULT 0;
	-- 标记默认为0
	DECLARE done INT DEFAULT 0; 
	-- 【1、定义游标】
	DECLARE cursor_product CURSOR FOR SELECT id,product_code,product_name,quantity,price,description FROM tb_product WHERE price > min_price;

-- 	#游标取完后的标志变量设置为1
   DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1 ;



![img](https://i-blog.csdnimg.cn/blog_migrate/2d61169edd18da3e1b328098851c94b9.png)
![img](https://img-blog.csdnimg.cn/img_convert/1b757faad581c32fffbbe4d93bc0596f.png)
![img](https://img-blog.csdnimg.cn/img_convert/6a76c4aa78da029ea850646eff657095.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

5565059908)]

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值