测试开发知识点整理(一)

Java基础和数据库

    • 计算机基础
      • 1、计算机常识
      • 2、计算机基础知识(了解)
      • 3、计算机网络知识(了解)
    • 编程入门
      • 4、Java基础
      • 5、 eclipse工具
      • 6、 maven工具
      • 7、 Java SE和Java EE
      • 8、 Java数据类型的分类(掌握)
      • 9、 Java关键字
      • 10、 标识符
      • 11、 变量(掌握)
      • 12、 常量(掌握)
      • 13、 数组类型转换(掌握)
      • 14、 运算符(掌握)
      • 15、 分支(if)(掌握)
      • 16、 分支(if-else)(掌握)
      • 17、 分支(if-else if-else)(掌握)
      • 18、分支(switch-case)(掌握)
      • 19、 for循环(掌握)
      • 20、 while循环(掌握)
      • 21、 do-while循环(掌握)
      • 22、 foreach循环(新循环)
      • 23、 循环嵌套
      • 24、 数组(一维数组)
      • 25、 函数(方法)(掌握)
      • 26、 递归函数
      • 27、Java算法
    • 数据库
      • 28、关系型数据库有哪些?
      • 29、关系型数据库的特点?
      • 30、SQL Server, Oracle, MySQL比较
      • 31、非关系型数据库有哪些?
      • 32、非关系型数据库的特点?
    • SQL查询
      • 33、SQL基础
      • 34、数据库客户端工具
      • 35、SQL Server数据库配置远程连接
      • 36、 数据类型(掌握)
      • 37、 单表查询(掌握)
      • 38、 聚合函数(掌握)
      • 39、 分组查询(掌握)
      • 40、子查询(掌握)
      • 41、 多表查询(掌握)
      • 42、了解数据库编程
      • 43、 字符串函数,日期函数,数值函数(了解)
      • 44、 空值函数(了解)
      • 45、 类型转换函数(比如SQL Server数据库的Convert函数)
      • 46、 排序(ORDER BY)(掌握)
      • 47、 关键字(掌握)
      • 48、 运算符(掌握)
      • 49、 数据库约束(了解)
      • 50、 索引(优点和缺点)(了解)
      • 51、 视图(了解)
      • 52、 DDL
      • 53、 DML(掌握)
      • 54、 模糊查询(掌握)
      • 55、 数据库服务的默认端口号
      • 56、如何备份(复制)数据表
      • 57、 怎么把某张表里面的相关记录拷贝到另一张表里面
      • 58、集合操作(了解)
      • 59、SQL Server的Case表达式(了解)
      • 60、Oracle事务(了解)
      • 61、数据库并发(了解)
      • 62、数据库设计(了解)

计算机基础

1、计算机常识

1)Win10 电脑上如何显示文件扩展名
测试开发知识点整理(一)_第1张图片
2)Win7 电脑上如何显示文件扩展名
参考:
https://jingyan.baidu.com/article/22fe7ced3e890d3003617f54.html
3)安装软件的注意事项:尽量使用英文路径,不要安装到中文文件夹里面
4)代码命名规范:一律使用英文字母和数字命名,不要使用中文和空格

2、计算机基础知识(了解)

【参考】进制计数
https://blog.51cto.com/6930123/2111068
【参考】三种常见字符编码简介:ASCII、Unicode和UTF-8
https://www.cnblogs.com/yuguangchuan/p/4310952.html
【参考】UTF-8编码规则
https://blog.csdn.net/machinecat5888/article/details/81490930
【参考】UTF-8和GBK有什么区别?
https://zhidao.baidu.com/question/133119038.html
【参考】ASCII码对照表
http://ascii.911cha.com/
【参考】进程与线程介绍
http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html
【参考】windows任务计划
https://blog.csdn.net/qq_23009105/article/details/84142872
【参考】32位与64位的区别
http://baijiahao.baidu.com/s?id=1597957901325632365
【参考】DOS常用命令
https://www.cnblogs.com/Ceslie-zhang/p/8442058.html
【参考】Win10命令行选Cmd还是PowerShell好
https://jingyan.baidu.com/article/9f7e7ec094938f6f281554e4.html
【参考】Windows10下命令行工具Cmder
https://blog.csdn.net/lzypdc/article/details/80570545

3、计算机网络知识(了解)

【参考】TCP/IP协议简述
https://blog.csdn.net/u010785091/article/details/78791543
【参考】TCP/IP协议、HTTP协议、SOCKET通讯详解
https://www.cnblogs.com/jking10/p/5525519.html

微信扫一扫关注公众号
image.png
点击链接加入群聊
https://jq.qq.com/?_wv=1027&k=5eVEhfN
软件测试学习交流QQ群号:511619105

编程入门

4、Java基础

入门教程:
http://www.runoob.com/java/java-tutorial.html
【参考】为Java说句公道话
https://www.jianshu.com/p/be4b4dee5a57
【参考】Mac配置java运行环境的步骤
https://www.cnblogs.com/xqx-qyy/p/7659805.html
【参考】为什么要配环境变量?PATH用来干什么?
https://blog.csdn.net/Pre_waist_L/article/details/79696507
【参考】配置JAVA环境变量中CLASSPATH变量的作用
https://blog.csdn.net/cuipp0509/article/details/74852740
【参考】JAVA直接量
https://blog.csdn.net/tmdlife/article/details/51613665
【参考】关于Java的转义字符
https://www.cnblogs.com/DreamDrive/p/4676534.html
【参考】java浮点数值计算误差
https://blog.csdn.net/u014677625/article/details/41773433
【参考】java用double和float进行小数计算精度不准确
https://blog.csdn.net/huangxiaoben/article/details/82625854
【参考】Java基础知识:unicode字符
https://blog.csdn.net/iteye_5985/article/details/82303154
【参考】你所不知道的Java之char默认值
https://www.jianshu.com/p/d20d5f8bb878
【参考】Java文档注释
https://www.runoob.com/java/java-documentation.html

5、 eclipse工具

eclipse教程:
http://www.runoob.com/eclipse/eclipse-tutorial.html
【参考】eclipse解决项目java代码显示中文乱码
https://www.jianshu.com/p/43061e0b5703
【参考】Eclipse解决乱码问题
https://blog.csdn.net/wxr15732623310/article/details/73385450
【参考】Eclipse UI 界面字体大小调整
https://blog.csdn.net/shenchen_studyC/article/details/79908184
【参考】JAVA eclipse 如何设置字体大小
https://www.cnblogs.com/xiaosisong/p/9802210.html
【参考】eclipse快捷键
http://www.runoob.com/eclipse/eclipse-shortcuts.html
【参考】Eclipse常用快捷键
https://www.cnblogs.com/mq0036/p/4995390.html
【参考】eclipse debug常见调试 F6 单步 F8完成 F5进入方法
http://blog.java1234.com/blog/articles/243.html

6、 maven工具

【参考】maven 教程
http://www.runoob.com/maven/maven-tutorial.html
【参考】maven pom详解
https://blog.csdn.net/zz_lk_xx/article/details/85870848
【参考】maven滤除不需要的依赖POM配置
https://blog.csdn.net/lkx94/article/details/42145239

7、 Java SE和Java EE

Java SE(标准版)
开发单机版的桌面应用(比如聊天客户端软件)。该框架提供的工具包如下:
1)java.lang:语言包
2)java.util:实用包
3)java.awt:抽象窗口工具包
4)javax.swing:轻量级的窗口工具包,这是目前使用最广泛的GUI程序设计包
5)java.io:输入输出包
6)java.net:网络函数包
7)java.applet:编制applet用到的包(目前编制applet程序时,更多的是使用swing中的JApplet类)
8)java.text:格式转换包
9)java.sql:数据库操作
测试开发知识点整理(一)_第2张图片
【参考】JavaSE官方文档
https://docs.oracle.com/en/java/javase/index.html
【参考】JDK8官方API文档(使用说明书或功能说明书)
https://docs.oracle.com/javase/8/docs/api/index.html
【参考】JDK12官方API文档
https://docs.oracle.com/en/java/javase/12/docs/api/index.html
Java EE(企业版)
开发网站(比如电商购物网站)。除了包含SE的内容,还包含了web开发需要的一些基础包,例如selvlet等。
测试开发知识点整理(一)_第3张图片
【参考】JavaEE官方API文档
https://docs.oracle.com/javaee/7/api/toc.htm

8、 Java数据类型的分类(掌握)

基本数据类型(byte, short, int, long, char, float, double, boolean)
引用类型(数组,类,接口,枚举)
【参考】java中的基本数据类型的转换
https://www.cnblogs.com/liujinhong/p/6005714.html

9、 Java关键字

class, interface, public, static, void, int, new, finally, instanceof, package, import等

10、 标识符

类名,方法名,变量名等

11、 变量(掌握)

局部变量,全局变量

12、 常量(掌握)

final关键字

13、 数组类型转换(掌握)

自动转换,强制转换

14、 运算符(掌握)

赋值运算符,自增、自减,算术运算符,比较运算符,逻辑运算符,三目运算符,位运算符

15、 分支(if)(掌握)

16、 分支(if-else)(掌握)

17、 分支(if-else if-else)(掌握)

18、分支(switch-case)(掌握)

19、 for循环(掌握)

20、 while循环(掌握)

21、 do-while循环(掌握)

22、 foreach循环(新循环)

23、 循环嵌套

24、 数组(一维数组)

25、 函数(方法)(掌握)

函数(方法)重载,函数(方法)重写

26、 递归函数

27、Java算法

【参考】Java经典算法40题
https://www.cnblogs.com/jianmang/articles/4878924.html

微信扫一扫关注公众号
image.png
点击链接加入群聊
https://jq.qq.com/?_wv=1027&k=5eVEhfN
软件测试学习交流QQ群号:511619105

数据库

数据库主要分为两大类:关系型数据库和非关系型数据库。

28、关系型数据库有哪些?

ORACLE, SQL SERVER, MySQL, SQLite(安卓系统自带的嵌入式数据库)

29、关系型数据库的特点?

30、SQL Server, Oracle, MySQL比较

共同点:都是关系型数据库
区别:
1)社区版(Community)的MySQL软件是免费的,安装文件大概几百兆,跨平台(支持Linux系统和windows系统),适用创业型的软件公司(规模小),MySQL软件的默认端口是3306,管理员账号是root
2)Oracle软件是收费的,比较昂贵,性能最好,安全性最高,存储量大,适用银行,通信等大型企业,也是跨平台的(支持Linux系统和windows系统),ORACLE软件的默认端口是1521,管理员账号是sys
3)MS SQL SERVER软件是收费的,相对Oracle来说便宜很多,2008和2016的版本仅支持windows系统,2017和2019的版本支持开始支持Linux系统,SQL SERVER软件的默认的端口是1433,管理员账号是sa
【参考】sql server,mysql,oracle区别
https://blog.csdn.net/a460708485/article/details/82746156
【参考】sql server,mysql,oracle平时用法的区别
https://www.cnblogs.com/cherxu/p/6856262.html
【参考】sql server,mysql,oracle语法对比及区别
https://www.cnblogs.com/joseph_zheng/p/6795988.html

31、非关系型数据库有哪些?

Redis, MongoDB

32、非关系型数据库的特点?

SQL查询

SQL是一门操作数据库的语言。Oracle,SQL Server,MySQL都支持SQL.

33、SQL基础

SQL入门教程:
http://www.runoob.com/sql/sql-tutorial.html
SQL Server数据库官方参考手册
https://docs.microsoft.com/zh-cn/sql/t-sql/language-reference?view=sql-server-2017
SQL Server数据库MDF、NDF、LDF文件简介(了解)
https://blog.csdn.net/yh_zeng2/article/details/72901825

34、数据库客户端工具

测试开发知识点整理(一)_第4张图片
【参考】SQL server Management Studio的快捷键整理
https://blog.csdn.net/claire_cheng/article/details/53032403
【参考】如何解决SQL Server 2008 R2无法连接到(local)
https://blog.csdn.net/qq_43679771/article/details/86320379
【参考】Navicat 连接Oracle时提示oracle library is not loaded的问题解决
https://blog.csdn.net/qq_36135335/article/details/81330232

35、SQL Server数据库配置远程连接

测试开发知识点整理(一)_第5张图片

36、 数据类型(掌握)

字符串,数值,日期
【参考】Oracle基本数据类型总结
https://www.cnblogs.com/HDK2016/p/7071708.html
【参考】MySQL数据库的基本数据类型
https://www.cnblogs.com/doctorJoe/p/5337510.html
【参考】SQL SERVER数据类型详解
https://www.cnblogs.com/selene/p/4457914.html

37、 单表查询(掌握)

38、 聚合函数(掌握)

聚合函数 作用 支持的数据类型
COUNT 统计个数(行数) 所有
MAX 求最大值 日期类型,数值类型
MIN 求最小值 日期类型,数值类型
AVG 求平均值 数值类型
SUM 求和 数值类型

39、 分组查询(掌握)

分组查询的SELECT语句里面的属性必须出现在聚合函数里面或者GROUP BY子句里面,否则执行就会出错。

--先分组再过滤
SELECT ... FROM ... GROUP BY ... HAVING ...
--先过滤再分组
SELECT ... FROM ... WHERE ... GROUP BY ...
--先过滤再分组再过滤
SELECT ... FROM ... WHERE ... GROUP BY ... HAVING ...

【参考】group by 与聚合函数的使用
https://blog.csdn.net/tmjianjun/article/details/80898282
【参考】group by与聚合函数使用注意点
https://www.cnblogs.com/jinianjun/archive/2012/06/14/2549735.html
【参考】where和having之间的区别和用法
https://blog.csdn.net/jdjh1024/article/details/76647866

40、子查询(掌握)

出现在FROM语句,WHERE语句,HAVING语句里面的SELECT子句都是子查询

41、 多表查询(掌握)

使用内连接方式连接两张表的语法格式:
1)

SELECT ... FROM 表名 T1,表名 T2 WHERE {连接条件} AND {筛选条件};

2)

SELECT ... FROM 表名 T1 JOIN 表名 T2 ON {连接条件} WHERE {筛选条件};

使用内连接方式连接3张表(通过T2中间表将T1表和T3表进行连接)的语法格式:
1)

SELECT ... FROM 表名 T1,表名 T2, 表名 T3 
WHERE {T1和T2表的连接条件} AND {T2和T3表的连接条件}
AND {筛选条件};

2)

SELECT ... FROM 表名 T1 
JOIN  表名 T2 ON {T1和T2表的连接条件}
JOIN  表名 T3 ON {T2和T3表的连接条件}
WHERE {筛选条件};

【参考】左连接 ,右连接,内连接和全外连接的4者区别
https://blog.csdn.net/weixin_39220472/article/details/81193617
【参考】SQL语句自连接
https://blog.csdn.net/weixin_44129250/article/details/85703121
【参考】Mysql自连接的一些用法
https://www.cnblogs.com/weichao1996/articles/8519973.html
【参考】SQL语句综合练习
https://www.cnblogs.com/xiaoxing/p/5354432.html
【参考】数据库经典45道练习题及答案
https://www.cnblogs.com/xfxy/p/7077749.html

42、了解数据库编程

【参考】SQL编程
https://www.cnblogs.com/WJ-163/p/WangJing.html
【参考】SQL Server 编程入门
https://www.cnblogs.com/N-Fish/p/5768363.html
【参考】SQL SERVER 编程基本语法
https://blog.csdn.net/qibao16/article/details/78280262
【参考】SQL Server数据库编程基本语法汇总
https://wenku.baidu.com/view/b7eb0dde6f1aff00bed51efb.html
【参考】SQL Server中的事务与锁
https://www.cnblogs.com/knowledgesea/p/3714417.html
【参考】SQL Server数据库中的事务处理
http://www.cnblogs.com/KingsLiu/articles/5799736.html
【参考】乐观锁与悲观锁——解决并发问题
https://www.cnblogs.com/0201zcr/p/4782283.html
【参考】悲观锁和乐观锁
https://www.cnblogs.com/ego/articles/1456317.html

43、 字符串函数,日期函数,数值函数(了解)

SQL Server的字符串函数 作用
CONCAT(text1,text2,…) 拼接文本(字符串)
LOWER(text) 转成小写格式
UPPER(text) 转成大写格式
LEN(text) 计算文本里面的字符个数
LTRIM(text) 将文本左侧的空格删除
RTRIM(text) 将文本右侧的空格删除
REPLACE(src,target,text) 将源字符串里面的目标子串替换为指定的子串(注意:并不会真的把数据表里面的数据替换掉)
STUFF(src,start,len,text) 替换(注意:表格里面的数据没有真的被替换)
SUBSTRING(src,start,n) 从源字符串里面根据指定的开始位置截取n个字符
SQL Server的数值函数 作用
FLOOR(value) 取整,取小于该数的最大的整数
CEILING(value) 取整,取大于该数的最小的整数
ROUND(value,n) 取近似值(保留n位小数,四舍五入),如果n为0就表示取整
RAND() 得到一个随机的小数
ORACLE的字符串函数 作用
SUBSTR 截取字符串
LENGTH 返回文本里面的字符个数
CONCAT(text1,text2) 连接文本(只能连接两个字符串)
ORACLE的数值函数 作用
FLOOR(value) 取小于该数的最大的整数
CEIL(value) 取大于该数的最小的整数
ROUND(value,n) 取近似值(保留n位小数,四舍五入),如果n为0就表示取整
SQL Server的日期函数 作用
DATENAME(part,date) 如果part等于YEAR,返回该日期对应的年份(文本)
如果part等于MONTH,返回该日期对应的月份(文本)
DATEPART(part,date) 如果part等于YEAR, 返回该日期对应的年份(整数)
如果part等于MONTH, 返回该日期对应的月份(整数)
YEAR(date) 返回该日期对应的年份(整数)
MONTH(date) 返回该日期对应的月份(整数)
DAY(date) 返回该日期对应的天数(整数)
DATEDIFF(part,start,end) 如果part等于YEAR,返回两个日期相差多少年(整数)
如果part等于MONTH,返回两个日期相差多少个月(整数)
DATEADD(part,n,date) 如果part等于YEAR,返回该日期加上n年的结果(日期)
如果part等于MONTH,返回该日期加上n个月的结果(日期)
SQL Server的转换函数 作用
CONVERT(目标类型,数据) 将指定的数据转成目标类型的数据
比如:SELECT CONVERT(VARCHAR,3.142);
CONVERT(varchar,date,style) 将日期数据按照指定的格式转成文本(字符串)
如果style=101,按mm/dd/yyyy这个格式转换
如果style=120,按yyyy-mm-dd hh:mi:ss(24h)这个格式转换

【参考】CONVERT函数的使用
https://docs.microsoft.com/zh-cn/sql/t-sql/functions/cast-and-convert-transact-sql?view=sql-server-2017
【参考】SQL Server的字符串函数
https://docs.microsoft.com/zh-cn/sql/t-sql/functions/string-functions-transact-sql?view=sql-server-2016
【参考】SQL Server的数学函数
https://docs.microsoft.com/zh-cn/sql/t-sql/functions/mathematical-functions-transact-sql?view=sql-server-2016
【参考】SQL Server的日期函数
https://docs.microsoft.com/zh-cn/sql/t-sql/functions/date-and-time-data-types-and-functions-transact-sql?view=sql-server-2016
【参考】SQL Server中DateName()函数及DatePart()函数
https://www.cnblogs.com/luna-hehe/p/8191873.html

44、 空值函数(了解)

SQL Server的空值函数 作用
ISNULL(value1,value2) 如果value1等于NULL,则返回value2,否则返回value1

参考:
https://docs.microsoft.com/zh-cn/sql/t-sql/functions/isnull-transact-sql?view=sql-server-2016

45、 类型转换函数(比如SQL Server数据库的Convert函数)

参考:
https://docs.microsoft.com/zh-cn/sql/t-sql/functions/cast-and-convert-transact-sql?view=sql-server-2016

46、 排序(ORDER BY)(掌握)

DESC, ASC

47、 关键字(掌握)

SQL关键字 描述
USE 切换数据库
DATABASE 表示数据库
TABLE 表示表格
COLUMN 表示列
VIEW 表示视图
INDEX 表示索引
CONSTRAINT 表示约束
CHAR 定长文本(字符串)
NCHAR 定长文本(字符串)
VARCHAR 变长文本(字符串)
NVARCHAR 变长文本(字符串)
NUMERIC 数值
INT 整数
DATE 日期
DATETIME 时间
CREATE 创建数据库对象
DROP 删除数据库对象
ALTER 修改数据库对象,比如修改表结构,添加约束
INSERT 添加数据
UPDATE 修改数据
DELETE 删除数据
SET 设置属性的内容
ADD 添加列,约束
SELECT 查询数据,指定查询哪些字段(属性)
FROM 指定查询的对象
WHERE 指定筛选条件(查询条件)
AND 并且的意思,同时满足,用来连接查询条件
OR 或者的意思,用来连接查询条件
IN 表示在某个范围以内
NOT IN 表示不在某个范围里面
LIKE 像的意思,比如:sname like '王%'表示姓名为’王’字开头
NOT LIKE 不像
IS 表示等于,比如:IS NULL
IS NOT 表示不等于,比如:IS NOT NULL
NULL 表示空
TOP 表示靠前面的,适用于SQL SERVER数据库
DISTINCT 用来去除重复的数据
ORDER BY 根据…进行排序
DESC 表示降序(从大到小,从晚到早,从后到前)
ASC 表示升序(从小到大,从早到晚,从前到后)
AS 设置列名(别名)
Between {最小值} AND {最大值} 表示在最小值和最大值之间(在某个连续的区间里面),比如[3000,5000]
NOT Between {最小值} AND {最大值} 表示不在某个连续的区间里面
GROUP BY 根据…分组
HAVING 设置筛选条件
JOIN 连接两张表格,等价于INNER JOIN
LEFT JOIN 连接两张表格,等价于LEFT OUTER JOIN
RIGHT JOIN 连接两张表格,等价于RIGHT OUTER JOIN
FULL JOIN 连接两张表格,等价于FULL OUTER JOIN
ON 设置连接条件
EXISTS 判断是否存在
NOT EXISTS 判断是否不存在
UNION ALL 取并集(不去重复)
UNION 取并集(去重复)
INTERSECT 取交集(筛选出共同的记录)
EXCEPT 取差集(从集合里面删除出现在另外一个集合里面的记录)
PRIMARY KEY 主键
FOREIGN KEY 外键
REFERENCES 引用
UNIQUE 唯一
NOT NULL 非空
DEFAULT 默认值
CHECK 检查
IDENTITY 标识
EXEC 执行的意思

48、 运算符(掌握)

比较运算符 作用 支持的数据类型
> 表示大于 数值类型,日期类型
>= 表示等于等于 数值类型,日期类型
< 表示小于 数值类型,日期类型
<= 表示小于等于 数值类型,日期类型
= 表示等于 所有数据类型
<> 表示不等于 所有数据类型
!= 表示不等于 所有数据类型
赋值运算符 作用 支持的数据类型
= 赋值 所有数据类型
SQLSERVER算术运算符 作用 支持的数据类型
+ 数值类型
- 数值类型
* 数值类型
/ 除,比如:SELECT 11/4;–结果为2 数值类型
% 取余,比如:SELECT 11%4;–结果为3 数值类型
SQLSERVER连接运算符 作用 支持的数据类型
+ 连接文本(字符串) 文本类型(字符串)
通配符 作用
* 表示所有的属性
% 表示任意个字符
_ 表示1个字符

49、 数据库约束(了解)

1)给顾客编号设置唯一性约束(UNIQUE)
唯一性约束的作用:不允许重复
2)给顾客编号设置主键约束(PRIMARY KEY)
主键约束的作用:不允许重复,不允许为空
一个表的主键约束最多可以有1个
3)默认值约束(Default)
4)非空约束(NOT NULL)
5)外键约束(Foreign Key)
数据量比较大的情况下,外键约束会影响DML操作(增、删、改)的效率(性能)。

消息 1753,级别 16,状态 0,第 48 行
列 'CUSTOMER.customerid' 的长度或小数位数与外键 'FK_PURCHASE_CID' 中的引用列 'PURCHASE.CUSTOMERID' 的长度或小数位数不同。参与构造外键关系的列必须定义为具有同一长度和小数位数。
消息 1750,级别 16,状态 1,第 48 行
无法创建约束或索引。请参阅前面的错误。

消息 547,级别 16,状态 0,第 51 行
ALTER TABLE 语句与 FOREIGN KEY 约束"FK_PURCHASE_CID"冲突。该冲突发生于数据库"STUDENT_YZC_190624",表"dbo.customer", column 'customerid'。

CREATE TABLE 表名(
属性名 数据类型 PRIMARY KEY,
属性名 数据类型 NOT NULL,
属性名 数据类型 UNIQUE,--唯一性约束
属性名 数据类型 DEFAULT {默认值},
属性名 数据类型 Foreign Key references 主表名(主键属性),
...
);

6)自增约束(IDENTITY)
如果希望工号可以根据规则(比如从1001开始,步长为1)自动分配的话,可以使用IDENTITY,对应的列EMPNO就称之为标识列。IDENTITY是标识的意思,通过IDENTITY可以设置初始值和步长。

--这里的EMPNO就是标识列,并且是主键字段
CREATE TABLE EMP2(
EMPNO INT PRIMARY KEY IDENTITY(1001,1),
ENAME VARCHAR(30) NOT NULL,
);
insert into EMP2(ename) VALUES ('张三');
insert into EMP2(ename) VALUES ('李四');
insert into EMP2(empno,ename) VALUES ('1005','王五');--失败

7)检查约束(Check)
【参考】联合主键介绍
https://www.cnblogs.com/UniqueColor/p/7234340.html
【参考】SQL SERVER级联删除和级联更新
https://blog.csdn.net/guohao1949/article/details/24313455

50、 索引(优点和缺点)(了解)

1)索引介绍
索引类似书籍的目录(标题和页码),索引可以提高查询的效率。现在有一张客户表,数据量很大。客户表里面的顾客编号customerid被设置为主键后,数据库会自动建立索引,该索引里面保存了所有的顾客编号。该索引是以树形结构来保存数据的,每个节点存储的信息包括顾客编号,对应的页码,对应的行号。使用顾客编号去查询,速度很快。但是根据客户姓名去查找的话,速度很慢。怎么办?可以建立客户姓名的索引。
2)怎么创建索引

--创建客户姓名的索引
CREATE INDEX IDX_CUSTOMER_CNAME ON CUSTOMER(C_NAME);

3)SQL查询执行过程分析
当根据姓名查询的时候,数据库先到姓名索引里面根据姓名查询到对应的页码和行号,然后根据页码和行号调出记录。

SELECT * FROM CUSTOMER WHERE C_NAME = '张三';

4)索引有什么作用?有什么缺点?
索引提高检索的效率,但是会影响增删改的效率(更新索引会比较占用时间)。
5)我们的淘宝项目怎么做到搜索快,增删改也快呢?
搜索商品使用商品索引库(有索引,查询效率比较高),商品的更新使用商品数据库(增删改的效率比较高)。淘宝的后台每隔一段时间会将商品数据库里发生的数据更新(增、删、改)同步到索引库,确保数据的一致性。
6)怎么删除索引

DROP INDEX {表名}.{索引名};

【参考】数据库索引到底是什么,是怎样工作的?
https://www.jianshu.com/p/b72d3ab9e54a
【参考】数据库索引及其原理
https://www.e-learn.cn/content/qita/823830
【参考】SQL索引
https://www.yiibai.com/dbms/dbms-sql-index.html
【参考】为何淘宝关键词搜索不到自己的宝贝?怎么办?
https://www.kaitao.cn/article/20180918124314.htm

51、 视图(了解)

1)什么是视图?
视图是虚拟的表,视图的本质是SQL代码(SELECT语句)。
2)视图的作用?
通过视图可以封装SQL代码(SELECT语句)
通过视图可以限制用户对敏感数据的访问
3)怎么创建视图

CREATE VIEW {视图名} AS {SELECT语句}

4)对简单视图进行增删改(注意:不能对复杂视图进行增删改)
5)怎么把简单视图设置成只读(思路:把简单视图变成复杂视图)

ALTER VIEW V_EMP_YZC
AS 
SELECT EMPNO,ENAME,JOB,MGR,HIREDATE,DEPTNO FROM EMP
UNION
SELECT TOP 0 EMPNO,ENAME,JOB,MGR,HIREDATE,DEPTNO FROM EMP

6)怎么更新视图

ALTER VIEW {视图名} AS {新的SELECT语句}

7)怎么删除视图

DROP VIEW {视图名};

52、 DDL

CREATE, DROP, ALTER

53、 DML(掌握)

INSERT, DELETE, UPDATE

54、 模糊查询(掌握)

通配符:%, _

55、 数据库服务的默认端口号

ORACLE: 1521
SQL SERVER: 1433
MySQL: 3306

56、如何备份(复制)数据表

SELECT * INTO EMP_BAK FROM EMP;

57、 怎么把某张表里面的相关记录拷贝到另一张表里面

INSERT INTO MYEMP (MYNAME,MYAGE) SELECT NAME,AGE FROM EMP;

或者

INSERT INTO MYEMP SELECT * FROM EMP;

58、集合操作(了解)

Sql Server中集合的操作(并集、差集、交集)学习
https://www.cnblogs.com/xielong/p/7151882.html

59、SQL Server的Case表达式(了解)

纵表转横表
测试开发知识点整理(一)_第6张图片
【参考】纵表、横表互转的SQL
https://www.cnblogs.com/liangqihui/p/6718805.html
【参考】sql server中case when的用法
https://www.cnblogs.com/gsh0921/p/6594882.html
【参考】CASE (Transact-SQL)
https://docs.microsoft.com/zh-cn/sql/t-sql/language-elements/case-transact-sql?view=sql-server-2017

60、Oracle事务(了解)

【参考】浅谈oracle事务
https://www.cnblogs.com/zlbx/p/4821060.html

61、数据库并发(了解)

【参考】乐观锁解决并发问题
https://www.jianshu.com/p/6b7e2fa282ff

62、数据库设计(了解)

【参考】数据库设计三大范式
https://www.cnblogs.com/knowledgesea/p/3667395.html
【参考】使用PowerDesigner做数据库设计
https://www.jianshu.com/p/73ea109f3ab2
https://www.jianshu.com/p/d07119743ea0

微信扫一扫关注公众号
image.png
点击链接加入群聊

https://jq.qq.com/?_wv=1027&k=5eVEhfN
软件测试学习交流QQ群号:511619105

推荐阅读

[01]Java面试题全集(上)
[02]Java面试题全集(中)
[03]Java面试题全集(下)
[04] 测试开发知识点(一)
[05] 测试开发知识点(二)
[06] 测试开发知识点(三)
[07] 测试开发知识点(四)
[08] 测试开发知识点(五)
[09] Web测试经验分享
[10] 移动app测试经验分享
[11] 软件测试面试被问到的问题
[12] 测试工程师-简历真的拿得出手吗?
[13] 面试时如果发现回答不好,该怎么办?
[14] 如何在面试中介绍自己的项目经验
[15] 这 3 条原则让你简历上的项目经历稳过!

你可能感兴趣的:(01软件测试)