MySQL学习笔记[学习资料来源于B站黑马测试]

目录

一、数据库的基本知识

1、数据库概念

2、常见的数据库分类

(1)、当前主要使用的两种类型数据库

(2)、关系型数据库

(3)、非关系型数据库

二、SQL基本知识

1、SQL介绍

2、SQL语言的分类

三、MySQL基本知识

1、MySQL介绍

2、MySQL特点

3、MySQL的数据类型和约束

3.1、常用数据类型

3.2、约束

4、MySQL数据库语法

4.1、在Navicat中如何MySQL语句

4.2、创建数据库

语法格式

 举例说明

4.3、使用数据库

4.4、修改数据库

4.5、删除数据库

4.6、数据库的其他操作

4.7、关于命令的小总结

4.8.1、使用Navicat工具实现数据库的备份

4.8.2、命令备份数据库

4.9、数据表的操作

4.9.1、创建表

4.9.2、查看表结构

4.9.3、删除数据表

4.10、数据操作

4.10.1、增加数据

4.10.2、修改数据

4.10.3、删除数据

4.10.4、拓展1:逻辑删除

4.10.5、拓展2:其他删除数据的方法

4.11、查询操作【非常重要】

4.11.1、查询所有字段

4.11.2、查询部分字段

4.11.3、起别名

4.11.4、去重

4.11.5、复杂查询

4.11.5.1、条件查询

4.11.5.1-1、比较运算符

4.11.5.1-2、逻辑运算符

 4.11.5.1-3、模糊查询

 4.11.5.1-4、范围查询

4.11.5.1-5、空判断

 4.11.5.2、排序

4.11.5.3、聚合函数

4.11.6、分组

4.11.6.1、语法格式

 4.11.6.2、分组后的数据筛选

4.11.6.2.1、语法格式

4.11.6.2.2、where和having的区别

4.11.7、分页

 4.11.7.1、分页格式(分页万能公式)

5、连接查询【非常重要】

5.1、定义

5.2、连接方式图解

5.3、内连接

5.3.1、语法格式

 5.3.2、举例说明

5.3.3、拓展:内连接的另一种写法(旧式写法)

5.4、左连接

5.4.1、语法格式

5.4.2、举例说明

5.5、右连接

5. 5.1、语法格式

5.5.2、例子

6、左右连接存在的必要性

7、自关联

7.1、基本概念

7.2、例子

 8、子查询

8.1、子查询的基本概念

8.2、主查询和子查询的关系

8.3、例子1:子查询充当条件

8.4、例子2:子查询充当数据源

 ​

三、数据库设计

1、E-R模型

1.1、一对一

1.2、一对多

1.3、多对多

2、主键和外键

2.1、概念与介绍

 2.2、设置主键

2.3、删除主键

2.4、设置外键

2.5、删除外键

3、索引

3.1、索引概念

3.2、设置索引

3.3、删除索引

4、外键和索引的综合说明

4.1、外键

4.2、索引

四、MySQL学习感悟


链接:软件测试第一篇_测试理论_Linux数据库_超详细教程_哔哩哔哩_bilibili

一、数据库的基本知识

1、数据库概念

数据库是指长期存储在计算机内、有组织的数据集合,简而言之,数据库就是一个存储数据的地方。

表是数据库中存储数据的基本单位,数据按照分类存储到不同的表中,能够非常高效的查询其中的数据。

注意:对于测试工作而言,如果项目页面没有实现,但是又想要校验数据,则可以直接通过查询数据库实现。

2、常见的数据库分类

(1)、当前主要使用的两种类型数据库

  • 关系型数据库
  • 非关系型数据库

(2)、关系型数据库

1、基本概念

RDMS:(Relational Database Management System)关系型数据库系统,是将数据间的关系以数据库表的形式加以表达,并将数据存储在表格中,以便于查询。

2、关系型数据库的代表产品

  • Oracle:在大型项目中使用,例如:银行、电信等项目。
  • MySQL:Web项目中使用最广泛的关系型数据库。
  • Microsoft【买块儿沙佛特】 SQL Server:在微软的项目中使用。
  • SQLite【Lite:雷特】:轻量级数据库,主要应用在移动平台。

3、关系型数据库的核心元素

  • 数据行(一条记录)
  • 数据列(字段)
  • 数据表(数据行的集合)
  • 数据库(数据表的集合,一个数据库中能够有n多个数据表)

(3)、非关系型数据库

将数据以key、value、文本、图片等形式存储的数据构成。

  • Redis
  • MongoDB

二、SQL基本知识

1、SQL介绍

SQL:Structred Query Language(结构化查询语言),通过SQL语言可以对数据库进行操作。

主流的关系型数据库都支持使用SQL语言进行操作,也就是说可以通过SQL语言操作Oracle、MySQL、Microsoft SQL Server、SQLite 等关系型的数据库。

2、SQL语言的分类

  • DQL:数据查询语言,用于对数据进行查询,例如:select
  • DML:数据操作语言,对数据进行增加、修改、删除,例如:insert、update、delete。
  • DCL:数据控制语言,进行授权与权限回收,例如:grant、revoke。
  • DDL:数据定义语言,进行数据库、表的管理等,例如:create、drop。

注意

  • 对于测试工程师来说,重点是数据的查询,因此需要熟练编写DQL。
  • 在MySQL中,默认对SQL语法不区分大小写。

三、MySQL基本知识

登录MySQL的命令:mysql -u数据库用户名 -p数据库密码

关闭MySQL的命令:exit

1、MySQL介绍

MySQL是一个关系型数据库管理系统,目前属于Oracle旗下产品。

目前为止,MySQL社区版是可以免费使用的。

2、MySQL特点

开源、社区版免费、支持多平台/多语言、使用范围广泛,是学习数据库开发与使用的首选。

MySQL的连接工具,建议使用Navicat。

说明:由于数据库软件处于服务器中,想要操作数据库,就必须使用工具远程连接数据库后,进行操作。

3、MySQL的数据类型和约束

3.1、常用数据类型

数据类型:对于填入的数据值本身进行控制,保证数据准确性。

  • 整数:int,分为有符号范围和无符号范围。有符号范围(-2147483648~2147483647),无符号(unsigned[安塞的])范围(0~4294967295)。
  • 小数:decimal[黛色某],例如:decimal(5,2)表示共存5位数,小数占2位,整数占3位。
  • 字符串:varchar[挖个儿],范围(0~65533),例如:varchar(3)表示最多存3个字符,一个中文或一个字母都占一个字符。
  • 日期时间:datetime,范围(1000-01-01 00:00:00~9999-12-31 23:59:59),例如:'2020-01-01 12:29:59'

3.2、约束

约束:对于整张数据表进行限制,确保对应字段的所有数据符合设计要求。

  • 主键(primary【拍莫瑞】 key):能唯一标识表中的每一条记录的属性组。
  • 非空(not null):此字段不允许填写空值。
  • 唯一(unique【优尼科】:此字段的值不允许重复。
  • 默认值(default):当不填写此值时会使用默认值,如果填写以填写为准。注意:如果默认值的内容为字符串,必须加英文格式下的引号。
  • 外键(foreign【for 瑞】 key):一个表中的一个字段引用另一个表的主键。

作用:

  1. 主键的作用是为了保证数据表内的数据每一条的顺序是固定的,不会由于删除或增加数据,而导致数据乱序,需要注意的是:一般的在一张数据表中只需要有一个主键。为了使用方便,一般会设置成自动递增,并且是无符号。
  2. 还需要注意的是,主键的虽然是天然的不为空,但也要将自动递增和无符号这两个选项选上。
  3. 唯一的操作顺序:
    1. 唯一的作用是当前字段内的所有数据不能重复

 

4、MySQL数据库语法

4.1、在Navicat中如何MySQL语句

想要操作数据库,就在如图所示的位置上右键点击新建查询,如果想要操作数据表,则在相对应的数据库右键新建查询。

4.2、创建数据库

  • 语法格式

# 创建数据库

create database 数据库名称 [charset] [字符编码] [collate] [校验规则];

# 创建结果查看

show create database 数据库名称
  •  举例说明

# 创建一个名称为python的数据库

create database python charset=utf8 collate=utf8_general_ci;

# 查看创建结果

show create database python;

4.3、使用数据库

# 语法格式
    
    # 使用(打开)数据库

    use 数据库名

    # 查看当前使用数据库

    select database()


# 举例说明
    
    #使用数据库
    
    use python
    
    
                           

4.4、修改数据库

 # 语法格式

alter database [数据库名]
[default] character set <字符集名>
[default] collate <校对规则名>


# 举例说明
    
    # 创建testpython数据库,字符集为gb2312
    
    create database testpython charset=gb232

    # 修改testpython的指定字符集修改为utf8mb4,默认校验规则为utf8mb4_general_ci

    alter database testpython
    default character set utf8mb4
    default collate utf8mb4_general_ci

4.5、删除数据库

# 语法格式

drop database 数据库名;


# 举例说明

drop database python;

4.6、数据库的其他操作

  1. 查看所有数据库: show database
  2. mysqldump -uroot -p 数据库名 > python.sql     再按照提示输入mysql的密码

4.7、关于命令的小总结

  • 创建是create
  • 使用是use
  • 修改是alter【奥特儿】
  • 删除是drop【抓普】

4.8.1、使用Navicat工具实现数据库的备份

4.8.1.1、存储数据库

要备份哪个数据库,就鼠标右键哪个数据库,点击转储SQL文件。

4.8.1.2、恢复数据库

4.8.1.3、应用场景

  1. 说明:在测试工作中,为了防止对数据库产生错误操作,或产生垃圾数据,都需要在操作前,适当对数据库进行备份操作。
  2. 垃圾数据:例如在自动化测试中,对注册模块操作生成的所有数据,属于典型的垃圾数据,应该清理。

4.8.2、命令备份数据库

  1. 注意: 命令是不需要连接到数据库以后执行的(非 mysql> 模式 ),也就是说,在虚拟机中用命令备份数据库,不需要用 mysql -u数据库用户名 -p数据库密码 进入数据库。
  2. 备份命令:mysqldump -u数据库用户名 -p 目标数据库名 > 备份文件.sql
  3. 还原命令:mysql -u数据库用户名 -p 目标数据库 < 备份文件名.sql

注意点:因为-p后面没有跟数据库密码,所以需要根据提示输入数据库密码,执行数据库的备份和还原操作。

4.9、数据表的操作

  • 2
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值