数据库理论知识

软件测试之MySQL数据库必知必会,面试必备!

一、前言
1.1 数据库概念及分类
1.2 SQL语句概念及分类
1.3 MySQL数据类型
二、常用SQL语句
2.1 数据库相关SQL
2.2 表相关SQL
2.3 修改表相关SQL
2.4 操作表记录相关SQL
三、DQL(查询)详解
3.1 条件查询
3.2 别名、去重
3.3 排序、分页查询
3.4 聚合函数、时间相关函数
3.5 分组与having
3.6 子查询
3.7 关联查询
四、约束、索引、存储过程、事务
4.1 约束
4.2 索引
4.3 存储过程
4.4 事务
五、相关面试题
分组(group by) + 聚合函数筛选(having) + join on(关联查询)——第12题
自连接——第19题
使用同一个表两次、解题思路——第24题
一、前言

1.1 数据库概念及分类

首先,我们经常说的MySQL是一个数据库管理系统,而非数据库。数据库是组织、存储和管理数据的仓库,存储数据的容器。而数据库管理系统是操纵和管理数据库的大型软件,建立、使用和维护数据库。数据表是真正的数据存储单元,其他对象的基础。三者之间的关系为:一个数据库管理系统维护了多个数据库,一个数据库包含若干数据表。
在这里插入图片描述

关于数据库的分类,可能有很多种分类。一般来说,我们用到最多的就是关系型数据库和NoSQL数据库。而其中关系型数据库又是应用最为广泛的。
1.2 SQL语句概念及分类

SQL:一种结构化查询语句,用于访问和操作数据库的标准计算机语言。通常用途为操作数据库对象(表、存储过程、函数、索引),表记录的增删改查。SQL是一门弱语言,不区分大小写。通常,将SQL语句分为下面五大类。
在这里插入图片描述

1.3 MySQL数据类型

MySQL支持多种数据类型,大致可以分为四大类,如下图所示。关于MySQL数据类型的详细内容,请参考链接 MySQL常见的数据类型
在这里插入图片描述

二、常用SQL语句

2.1 数据库相关SQL

查询所有数据库
show databases;
1
1
创建数据库
create database 数据库名称;
1
1
删除数据库
drop database 数据库名称;
1
1
查询数据库详情、查看数据库的字符集
show create database 数据库名称;
1
1
创建指定字符集数据库
##创建数据库语句后面用character set设置数据库字符集,注意这里是utf8,不是utf-8
create database 数据库名称 character set gbk/utf8;
1
2
1
2
选中数据库
use 数据库名称;
1
1
2.2 表相关SQL

如果不借助工具的情况下,在命令中输入下面相关的命令,需要先使用use 数据库名选择要操作表所属的数据库。
创建表
##创建数据库表语句如下:
CREATE TABLE IF NOT EXISTS 表名(
字段名1 字段类型,
字段名2 字段类型
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

实际案例语句

CREATE TABLE IF NOT EXISTS NUMBER(
ID INT NOT NULL AUTO_INCREMENT,
USERNAME VARCHAR(40),
PRIMARY KEY (ID)
)ENGINE=INNODB DEFAULT CHARSET=UTF8;
1
2
3
4
5
6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
查询所有表
show tables;
1
1
查询表详情
show create table 表名;
1
1
查看表结构
desc 表名;
1
1
删除表
drop table 表名;
1
1
2.3 修改表相关SQL

关于修改表相关的SQL,除了修改表前没加alter table 表名,其他都是在该基础添加的语句。这部分的SQL一般来说在实际工作中用的不多,因为相关操作都可以借助Navicat实现。
修改表名
rename table 原表名 to 新表名;
1
1
修改表引擎和字符集
alter table 表名 engine=innodb/myisam charset=gbk;
1
1
添加表字段(在最后)
alter table 表名 add 字段名 字段类型;
1
1
添加表字段(最前面)
alter table 表名 add 字段名 字段类型 first;
1
1
添加字段(某个字段后添加)
alter table 表名 add 字段名A 字段A类型 after 字段名B;
1
1
删除表字段
alter table 表名 drop 字段名;
1
1
修改表字段名称和类型
alter table 表名 change字段名 原字段名 新字段名 新类型;
1
1
2.4 操作表记录相关SQL

对于测试工程师而言,SQL语言中最常用的就是DML——数据操作语言,即为增删改查。而其中用到最多的就是DQL——数据查询语句。
插入数据(全表插入)
insert into 表名 values (字段1值,字段2值);
insert into 表名 values (字段1值,字段2值),(字段1值,字段2值);
1
2
1
2
插入数据(指定字段)
insert into 表名 (字段1,字段2) values (值1,值2);
insert into 表名 (字段1,字段2) values (值1,值2),(值1,值2);
1
2
1
2
删除数据
#删除指定数据
delete from 表名 where 字段名=值;

#删除表中全部数据
delete from 表名;
1
2
3
4
5
1
2
3
4
5
修改数据
#修改指定值
update 表名 set 字段名=值1 where 字段名=值2;

#修改全部值
update 表名 set 字段名=值1;
1
2
3
4
5
1
2
3
4
5
查询数据
#查询所有
select * from 表名
1
2
1
2
三、DQL(查询)详解

DQL即为数据查询语句,也是使用最多的一种SQL语句。将该部分的内容分为以下几部分:其中最为常用的是关联查询、分组、分页、排序、条件查询这几种。对于其中常用的where 、group by、having、order by、limit,其顺序为:·select * from 表A join 表B on 条件 where 条件 group by 分组字段 having 聚合函数过滤 order by 排序字段 limit …
3.1 条件查询

判断是否为空(is null 、is not null)

is null代表为空 is not null代表不为空

#案例 查看图书借阅表中归还时间为空的借阅记录
SELECT * FROM book_borrow WHERE return_time is NULL;
1
2
3
1
2
3
比较运行符(>、<、>=、<=、!=、<>)
#分别代表大于、小于、大于等于、小于等于、不等于、不等于
#案例 查看图书表中图书id大于2的图书信息
SELECT * FROM book WHERE book_id>2
1
2
3
1
2
3
and 和 or

等同于 &&和 || ,表示同时满足两个条件和满足两个条件中一个

案例1:查询图书借阅表中用户id和图书id都为1的图书信息

SELECT * FROM book_borrow WHERE user_id=1 AND book_id=1;

##案例2:查询图书借阅表中用户id为1或者图书id为1的图书信息
SELECT * FROM book_borrow WHERE user_id=1 OR book_id=1;
1
2
3
4
5
6
7
1
2
3
4
5
6
7
in 在某些可选值范围内

select * from 表名 where 字段 in (值1,值2,值3);

案例1 查询图书借阅表中读者id在1,2,3范围内

SELECT * FROM book_borrow WHERE user_id in (1,2,3);
1
2
3
1
2
3
between 和 not between

字段 between 值1 and 值2; 字段在值1和值2之间

#案例1:查询图书借阅表中读者id在1-2范围内,包含1和2
SELECT * FROM book_borrow WHERE user_id BETWEEN 1 AND 2;
1
2
3
1
2
3
模糊查询 like _代表单个字符,%代表0个或多个字符

案例1 查询图书表中图书名字为两个字符,且图书名第一个字为三的图书信息

SELECT * FROM book WHERE book_name LIKE ‘三_’;

案例2 查询图书表中图书名以天才开头的图书信息

SELECT * FROM book WHERE book_name LIKE ‘天才%’;
1
2
3
4
5
1
2
3
4
5
3.2 别名、去重

别名——使用as关键字或空格 给表名或字段别名

案例 查询图书表中图书名称为‘天才在左 疯子在右’的作者

SELECT b.author as 作者 FROM book b WHERE b.book_name =‘天才在左 疯子在右’;
1
2
1
2
去重——使用distinct对查询出来的去重
#案例 查询员工表中所有的员工名称,且不重复
select distinct employeeName from employee;
1
2
1
2
3.3 排序、分页查询

排序——order by (ASC 升序 默认、DESC 降序 )
#案例:查询学生表数据并以id降序、年龄升序排序
select * from student order by id desc,age;
1
2
1
2
分页查询——limit 跳过条数A 每页数量B
#案例 查询学生表中年龄第三大的学生信息
select * from student order by age desc limit 2,1;

#分页查询sql的格式为 start为页码 pageSize是每页显示的条数
select * from table limit (start-1)*pageSize,pageSize;
1
2
3
4
5
1
2
3
4
5
3.4 聚合函数、时间相关函数

聚合函数——sum(字段名) 求和
#案例 对分数表中分数进行求和
SELECT SUM(a.score) FROM table_socre as a;
1
2
1
2
聚合函数——avg(字段名) 平均值
#案例 求分数表中分数平均值
SELECT AVG(a.score) FROM table_socre as a;
1
2
1
2
聚合函数——max(字段名) 最大值
#案例 求分数表中最大值
SELECT MAX(a.score) FROM table_socre as a;
1
2
1
2
聚合函数——min(字段名) 最小值
#案例 求分数表中最小值
SELECT MIN(a.score) FROM table_socre as a;
1
2
1
2
聚合函数——count(字段名) 统计数量
#实例 查询图书表中图书总数
SELECT COUNT(*) as 图书总数 FROM book

注意点,count()函数的扩号中也可以填写字段,如果
字段的值为0,则不参与合计
1
2
3
4
5
1
2
3
4
5
时间函数——now() 当前年月日时分秒
SELECT NOW();
#输出当前时间 2020-07-03 23:21:03
1
2
1
2
时间函数——current_date() 当前时间年月日
SELECT CURRENT_DATE();
#输出当前时间年月日 2020-07-03
1
2
1
2
3.5 分组与having

分组——group by
group by的常规用法是配合聚合函数,利用分组信息进行统计。
#案例 以title字段分组,查询每个分组中score的最大值
SELECT t.t.title,MAX(score) FROM table_socre t GROUP BY t.title;
1
2
1
2
having——解决聚合函数过滤问题,一般配合group by一起使用。
#案例 以title字段分组,查询每个分组中score的最大值,并且通过最大值必须大于20来过滤数据
SELECT t.t.title,MAX(score) FROM table_socre t GROUP BY t.title having MAX(score)>20;
1
2
1
2
3.6 子查询

写在where/having后作为查询条件的值
#案例 查询员工工资最低的员工信息,由于可能最低有多个员工,所以需要先查询出最低工资
SELECT * FROM employees
WHERE salary=(
SELECT MIN(salary)
FROM employees
);
1
2
3
4
5
6
1
2
3
4
5
6
临时表——用在from后面,当做一个新表,新表必须有名称
#案例 将一个查询结果作为一个新表,让后从这个新表中查询数据
select cou,name from (select count(*) AS cou,enabled AS name from user group by enabled ) as a where cou>0
1
2
1
2
3.7 关联查询

参考链接:Mysql中的关联查询(内连接,外连接,自连接)

内连接—— 表A inner join 表B on 条件,特点:只查询连接的表中能够有对应的记录的数据
#查询员工姓名及对应部门名称 没有部门的人员和没有人员的部门都不显示
SELECT
e.empName,
d.deptName
FROM
t_employee e
INNER JOIN t_dept d ON e.dept = d.id;
1
2
3
4
5
6
7
1
2
3
4
5
6
7
左外连接——表A left join 表B on 条件,特点:以左边的表的数据为基准,去匹配右边的表的数据,如果匹配到就显示,匹配不到就显示为null
#查询员工表中员工姓名及对应部门名称,若员工没有部门,则显示null
SELECT
e.empName,
d.deptName
FROM
t_employee e
LEFT JOIN t_dept d ON d.id = e.dept;
1
2
3
4
5
6
7
1
2
3
4
5
6
7
右外连接——表A right join 表B on 条件,特点:与坐外连接类似,只是基准表变了,用右表去匹配左表。所以左外连接能做到的事情,右外连接也能做到。
#查询所有部门和对应的员工,如果部门没有员工,则显示null
SELECT
e.empName,
d.deptName
FROM
t_employee e
RIGHT JOIN t_dept d ON d.id = e.dept;
1
2
3
4
5
6
7
1
2
3
4
5
6
7
自连接——当前表与自身连接查询
#查询员工以及他的上司的名称,由于上司也是员工,所以这里虚拟化出一张上司表
SELECT
e.empName,
b.empName
FROM
t_employee e
LEFT JOIN t_employee b ON e.bossId = b.id;
1
2
3
4
5
6
7
1
2
3
4
5
6
7
四、约束、索引、存储过程、事务

4.1 约束

MySQL中约束是一种限制,它通过对表的行或列的数据做出限制,来确保表的数据的完整性、唯一性。
在这里插入图片描述

4.2 索引

MySQL中的索引是一种高效获取数据的存储结构——B+Tree;MySQL中索引的好处在于加快查询速度,坏处就是降低了增删改的速度,增大了表的文件大小(索引文件可能比数据文件还要大)。MySQL索引实现原理可以参考:mysql索引实现原理
#1.如何创建索引 注意:添加主键约束是,会自动创建主键字段的索引
create index 索引名 on 表名(字段);

#2.查看索引
show index from 表名;

#3.删除索引
drop index 索引名 on 表名;
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
在这里插入图片描述

4.3 存储过程

MySQL中存储过程类似于函数,就是把一段代码封装起来,当要执行这一段代码的时候,可以通过调用该存储过程来实现。
#1.查看数据库中的存储过程
show procedure status;

#2.查看存储过程的创建代码
show create PROCEDURE 存储过程名;

#3.创建存储过程
CREATE PROCEDURE 名称()
BEGIN

END
1
2
3
4
5
6
7
8
9
10
11
1
2
3
4
5
6
7
8
9
10
11
#4.创建存储过程,并执行存储过程
#4.1创建存储过程
drop procedure if exists proc_addNum;
create procedure proc_addNum (in x int,in y int,out sum int)
BEGIN
SET sum= x + y;
end

#4.2执行过程,out输出返回值
call proc_addNum(2,3,@sum);
select @sum;
1
2
3
4
5
6
7
8
9
10
11
1
2
3
4
5
6
7
8
9
10
11
4.4 事务

参考链接:MySQL数据库事务的四大特性以及事务的隔离级别

事务:是数据库中执行SQL语句的工作单元,可以保证事务内的SQL语句要么全部成功,要么全部失败。
在这里插入图片描述

五、相关面试题

对于软件测试而言,在MySQL数据库相关的面试题中,除了上面MySQL数据库相关的概念,最重要的就是DQL语句的编写。关于DQL相关语句的考题,可以直接参考牛客网中SQL实战编程:牛客网SQL实战。
分组(group by) + 聚合函数筛选(having) + join on(关联查询)——第12题

#获取部门中员工薪水最高相关信息
SELECT
B.dept_no,
B.emp_no,
A.salary AS salary
FROM
salaries AS A
JOIN dept_emp AS B ON A.emp_no = B.emp_no
WHERE
A.to_date = ‘9999-01-01’
AND B.to_date = ‘9999-01-01’
GROUP BY
B.dept_no
HAVING
A.salary = max( A.salary );
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
自连接——第19题

#查看薪水第二多的员工信息(不使用order by)

#思路一:查询最大薪水,然后查询小于最大薪水的薪水值中的最大值
SELECT
e.emp_no,
s.salary,
e.last_name,
e.first_name
FROM
employees e
JOIN salaries s ON e.emp_no = s.emp_no
AND s.to_date = ‘9999-01-01’
AND s.salary = (
SELECT
max( salary )
FROM
salaries
WHERE
salary < ( SELECT max( salary ) FROM salaries WHERE to_date = ‘9999-01-01’ )
AND to_date = ‘9999-01-01’
)

#思路二:对薪水表自连接,使用s1.salary <= s2.salary查询出第二多薪水
SELECT
e.emp_no,
s.salary,
e.last_name,
e.first_name
FROM
employees e
JOIN salaries s ON e.emp_no = s.emp_no
AND s.to_date = ‘9999-01-01’
AND s.salary = (
SELECT
s1.salary
FROM
salaries s1
JOIN salaries s2 ON s1.salary <= s2.salary
AND s1.to_date = ‘9999-01-01’
AND s2.to_date = ‘9999-01-01’
GROUP BY
s1.salary
HAVING
count( DISTINCT s2.salary ) = 2
)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
使用同一个表两次、解题思路——第24题

#获取员工其当前的薪水比其manager当前薪水还高的相关信息

#1.先查出员工的工号和薪水:
SELECT
de.emp_no,
sa.salary
FROM
dept_emp de,
salaries sa
WHERE
de.emp_no = sa.emp_no
AND de.to_date = ‘9999-01-01’
AND sa.to_date = ‘9999-01-01’

#2.再查出经理的工号和薪水:
SELECT
dm.emp_no manager_no,
sal.salary
FROM
dept_manager dm,
salaries sal
WHERE
dm.emp_no = sal.emp_no
AND dm.to_date = ‘9999-01-01’
AND sal.to_date = ‘9999-01-01’

#3.最后就是组合,看准条件,做好条件衔接
SELECT
de.emp_no,
dm.emp_no manager_no,
sa.salary emp_salary,
sal.salary manager_salary
FROM
dept_emp de,
salaries sa,
dept_manager dm,
salaries sal
WHERE
de.emp_no = sa.emp_no
AND dm.emp_no = sal.emp_no
AND de.dept_no = dm.dept_no
AND de.to_date = ‘9999-01-01’
AND sa.to_date = ‘9999-01-01’
AND dm.to_date = ‘9999-01-01’
AND sal.to_date = ‘9999-01-01’
AND sa.salary > sal.salary
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
对于测试工程师而言,在面试中,应该不会遇到特别难的SQL题目。且工作中,对于SQL要求不会特别高,重点在于根据需求梳理好思路,然后编写相关的SQL,对于其SQL的效率不回特别追求。
打开CSDN,阅读体验更佳

软件测试面试题中的sql题目
软件测试面试题中的sql题目,你可能碰到的查询一班得分在80分以上的学生
浏览器打开
软件测试面试时遇到的数据库问题
1.数据库中有如下两个表: 表1:employee 员工编号:employee_id (NOT allows null) 员工姓名:employee_name (NOT allows null) 年 龄 :age, 雇用日期:hire_date, 部门:department 表2:salary 员工编号:employee_id 员工工资:sa
浏览器打开
评论(10)
写评论

南风有时起码龄2年
1
学会了,已经面上百度,谢谢博主4 月前

爱码士爱码士恬恬恬圈码龄1年

大佬,您好~我是51testing软件测试网编辑,您这篇文章写的很好,想要转载到我们平台上让更多的人看到,我们会标书出处和作者,希望您能同意,非常感谢!12 天前

留白zOom码龄3年

Limit用法那里我怎么执行报错啊,表情包6 月前

Z------码龄1年

赞6 月前

楚楚3107码龄12年

不错不错6 月前

码哥码哥cutercorley码龄2年

很详细啊6 月前

甘捷法码龄8年

赞👍6 月前
mysql数据库面试题 软件测试_软件测试数据库面试题一
前提本次分享只局限于 sql server 和 mysql 这两种数据库,其他数据库暂不总结正文1. 对查询的字段进行去重(distinct)用法注意:1. distinct【查询字段】,必须放在要查询字段的开头,即放在第一个参数;2. 只能在SELECT 语句中使用,不能在 INSERT, DELETE, UPDATE 中使用;3. DISTINCT 表示对后面的所有参数的拼接取 不重复的记录,…
浏览器打开
软件测试面试题—基础篇
Ⅰ.一个Bug1. 一条软件缺陷(或者叫Bug)记录都包含了哪些内容? 如何提交高质量的软件缺陷(Bug)记录?一条Bug记录最基本应包含:编号、Bug所属模块、Bug描述、Bug级别、发现日期、发现人、修改日期、修改人、修改方法、回归结果等等;要有效的发现Bug需参考需求以及详细设计等前期文档设计出高效的测试用例,然后严格执行测试用例,对发现的问题要充分确认肯定,然后再向外发布如此才能提高提交B…
浏览器打开
软件测试之数据库面试题_zhusongziye的博客_软件测试…
MySQL外连接、内连接的区别? 答案: 内连接 连接的数据表相对应的匹配字段完全相等的连接。连接关键字是 inner join 外连接 分为左外连接与右外连接、全连接。
软件测试mysql面试题及答案_软件测试技术之面试必问的2…
面试必问的25道数据库测试题 1)什么是数据库测试? 数据库测试也称为后端测试。数据库测试分为四个不同的类别。 数据完整性测试
软件测试面试题(面试前准备篇)
目录 一、问题预测 让简单介绍下自己(每次面试开场) 让说下自己会的内容 看了哪些书籍(有问到) 了解过哪些技术博客/论坛(有问到) 是否了解软件测试需要掌握哪些知识(问到类似问题) 之前面试过,觉得自己需要补充哪些?做了哪些行动? 为什么做测试,觉得自己做测试有哪些优势?(有问到) 知道哪些Bug系统 9.测试用例的基本要素是? 二、介绍一下公司项目 三、技能…
浏览器打开
软件测试工程师经典面试题
  软件测试工程师,和开发工程师相比起来,虽然前期可能不会太深,但是涉及的面还是比较广的。前期面试实习生或者一年左右的岗位,问的也主要是一些基础性的问题比较多。涉及的知识主要有MySQL数据库的使用、Linux操作系统的使用、软件测试框架性的问题,测试环境搭建问题、当然还有一些自动化测试和性能测试的问题。测试工程师的面试题,基本上都是大同小异的,面试的核心主要在于框架模块(一到两年工作经验) 。今…
浏览器打开
sql面试题(适合软件测试)_软件测试mysql面试题及答案,软件测试sql…
sql面试题软件测试含答案软件测试mysql面试题及答案更多下载资源、学习资料请访问CSDN下载频道.
测试面试题集-MySQL数据库灵魂拷问_CoCo小锦鲤的博客
测试面试题集-MySQL数据库灵魂拷问 VOL 162 25 2020-09 今天距2021年97天 这是ITester软件测试小栈第162次推文 点击上方蓝字“ITester软件测试小栈“关注我,…
10年软件测试工程师感悟——写给还在迷茫中的朋友

这两天和朋友谈到软件测试的发展,其实软件测试已经在不知不觉中发生了非常大的改变,前几年的软件测试行业还是一个风口,随着不断地转行人员以及毕业的大学生疯狂地涌入软件测试行业,目前软件测试行业“缺口”已经基本饱和。当然,我说的是最基础的功能测试的岗位需求已经很少了,而自动化、性能、安全乃至于以后可能出现的大数据测试、AI测试仍存在着非常多的机会。 “长江后浪推前浪,前浪死在沙滩上”,曾经一句让人会心一笑的调侃,而今变成了软件测试行业的真实写照。由于软件测试行业入门门槛低,薪资报酬高,不断有新鲜血液冲刷着软件测试
浏览器打开
软件测试常考面试题-软件测试面试宝典(一篇足矣)
https://blog.csdn.net/mj813/article/details/52451355,对原文进行整理 问:软件测试的原则? 答:https://blog.csdn.net/weixin_30363263/article/details/102986878 问:你在测试中发现了一个 bug ,但是开发经理认为这不是一个 bug ,你应该怎样解决。 1、将问题提交到缺陷…
浏览器打开
软件测试Mysql题库_软件测试之数据库面试题_退乎的博客
软件测试Mysql题库_软件测试之数据库面试题 第一期: 学生表(学生id,姓名,性别,分数) )student(s_id, name, sex, score) 班级表(班级id,班级名称) class(c…
软件测试mysql面试_软件测试之数据库面试题_懂茶帝的博…
软件测试mysql面试_软件测试之数据库面试题 第一期: 学生表(学生id,姓名,性别,分数) )student(s_id, name, sex, score) 班级表(班级id,班级名称) class(c_…
软件测试-常见数据库笔试题
一、 1.新建表 test id varchar2(20)name varchar2(20)addr varchar2(50)score number create table test(id varchar2(20),name varchar2(20),addr varchar2(50),score number) 2.给id增加主键约束alter table test add constrai…
浏览器打开
软件测试面试宝典 .pdf
该PDF中面试题划分的很详细,几乎涵盖市面上常问的问题,针对需要面试的人员订制。涉及测试的概念,Linux,web测试,APP测试,API测试,MySQL,python,以及各种测试方案的设计与测试人
浏览器打开
笔试面试题大全(含软件测试、数据库等)_软件测试数据库面试题及…
涉及的知识主要有MySQL数据库的使用、Linux操作系统的使用、软件测试框架性的问题,测试环境搭建问题、当然还有一些自动化测试和性能测试的问题。测试工程师的面试题,…
MySQL查询面试题_猎摘互联网软件测试业界技术文章专用博客
MySQL查询面试题【第一部分】 Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表
写评论

10

209

标题

  • 9
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值