MySQL数据库基本知识点总结

MySQL是一种开源的关系型数据库管理系统,广泛应用于Web应用程序的开发中。以下是MySQL数据库的一些基本知识点总结:

目录

1. 数据库的创建和删除

- 创建数据库:

- 删除数据库:

2. 表的创建和删除

- 创建表:

- 删除表:

3. 数据的插入、更新和删除 

-插入数据:

- 更新数据:

- 删除数据:

4. 单表的查询

-基础查询:

-条件查询 :

运算符

比较条件的组合使用

between关键字

in()关键字

like关键字 

is null关键字

-高级查询:

distinct关键字

order by子句

limit关键字

常用聚合函数 

-分组查询:

group by 子句

having子句

5. 多表的查询

-连接查询:

内连接:

 -子查询:

6.视图

-创建视图

 -修改视图

-删除视图 

7.函数 

-自定义函数

 -条件函数:

8.表的约束简介

-域完整性

-实体完整性

-参照完整性


1. 数据库的创建和删除

- 创建数据库

create database 数据库名;

例:创建数据库mydatabase

create database mydatabase;

- 删除数据库

drop database 数据库名;

例:删除数据库mydatabase

drop database mydatabase;

2. 表的创建和删除

- 创建表

create table 表名(列名1 数据类型, 列名2 数据类型, 列名3 数据类型, ...);

例:创建mytable表

 create table mytable(

        id int(6)  auto_increment primary key,

        firstname varchar(30) not null,

        lastname varchar(30) not null,

        email varchar(50),

 );

- 删除表

drop table 表名; 

例:删除mytable表

drop table mytable;

3. 数据的插入、更新和删除 

-插入数据:

1.指定字段名

  •  insert into 表名 (字段名1, 字段名2, 字段名3, ...) values(值1, 值2, 值3, ...);
  • insert into 表名 (字段名1, 字段名2, 字段名3, ...) values(值1, 值2, 值3, ...),(值1, 值2, 值3, ...);

例:在mytable插入firstname为“John”,lastname为“Doe”,email为“john@example.com”

insert into mytable (firstname, lastname, email) values('John', 'Doe', 'john@example.com'); 

 2.不带字段名

  • insert into 表名 values(值1, 值2, 值3,...);
  • insert into 表名 values(值1, 值2, 值3,...),(值1, 值2, 值3, ...);

- 更新数据

update 表名 set 字段名1 = 值1, 字段名2 = 值2, ... where 条件表达式;

例:将mytable 中id为1的email改成johndoe@example.com

update mytable set email = 'johndoe@example.com'

where id = 1;

- 删除数据

delete from 表名 where 条件表达式; 

例:将mytable 中id为1的数据删除

delete from mytable where id = 1;

4. 单表的查询

-基础查询:

select *[ 字段名1,字段名2... ]from 表名;

例:查询mytable表中所有记录的所有列 

select * from mytable;

例:查询mytable中firstname、lastname

select firstname,lastname from mytable;

-条件查询 :

运算符

运算符示例
=等于
>

大于

<小于
>=大于等于
<=小于等于
!=不等于

比较条件的组合使用

运算符描述
and逻辑与,操作数全部为真,则结果为1,否则为0
or逻辑或,操作数中只要有一个为真,则结果为1,否则为0
not逻辑非,操作数为0,则结果为1,操作数为1,则结果为0

between关键字

运算符示例
between...and...在指定的闭区间范围内(包含边界)
not between...and...不在指定的闭区间范围内

in()关键字

函数名描述
in()在给定的集合内
not in()不在给定的集合内

like关键字 

运算符示例
like '匹配模式'获取匹配到的数据(用于模糊匹配)
not like '匹配模式'获取不到的数据

通配符:

%  ------代表任意多个字符

_(下划线) -----代表一个任意字符

is null关键字

运算符示例
is null比较一个数据是否是null
is not null比较一个数据是否不是null

select *[ 字段名1,字段名2... ]from 表名

where 条件表达式;

-高级查询:

select [distinct] * [字段名1,字段名2,字段名3,.......]
from 表名
[where 条件表达式1]
[group by 字段名[having 条件表达式 2]]
[order by 字段名[asc/desc]]

[limit 记录数];

distinct关键字

去除查询记录中重复的数据可使用distinct(去重复值子句)去除重复记录(消除重复行,只保留一条).

语法:distinct 字段名1;

order by子句

使用order by(排序子句)对查询出的数据进行上升下降的排序MySQL提供了两种排序的方式,分别为单字段排序和多字段排序
说明: asc升序,desc降序,缺省值为升序

  • 单字段排序 (单重排序)

        语法: order by 字段名 [asc/desc]

  • 多字段排序(多重排序)

        语法: order by 字段名1 [asc/desc],字段名2 [asc/desc]

        说明: 多字段排序首先按照第一字段值排序,当第一字段的值相同时,再按照第二字段值进行排序,依次类推。 

limit关键字


关于记录数的限量问题:
对于一次性查询出的大量记录,不仅不便于阅读查看,还会浪费系统效率MySQL中提供了一个关键字limit(限量子句),可以限定记录的数量,也可以指定查询从哪一条记录开始(通常用于分页)。

语法: limit[偏移量,]记录数

例:查询mydb表中第6-10行记录

select * from mydb limit 5,5;

常用聚合函数 

函数描述
count(字段名)返回参数字段的数量,参数可以使用*,即count(*)
sum(字段名)返回参数字段之和
avg(字段名)返回参数字段的平均值
max(字段名)返回参数字段的最大值
min(字段名)返回参数字段的最小值

-分组查询:

group by 子句


分组统计:在应用中,通常需要对数据按照某个或多个字段进行分组统计

语法: group by 字段名

having子句

分组筛选:对查询的数据分组时,可以利用HAVING子对分组筛选

语法如下:

select 查询列表 from 表名

where 条件表达式

group by 字段名

having 条件表达式

5. 多表的查询

-连接查询:

内连接:

语法:

select 查询列表

from 表1 [inner] join 表2

on 表2.公共列=表1.公共列;

 -子查询:

子查询是指在一个查询语句中嵌套另一个查询语句,用于获取更复杂的查询结果。

以下是一个使用子查询的例子: 假设我们有两个表格,一个是学生表格,一个是成绩表格。

学生表格包含学生的ID和姓名,成绩表格包含学生的ID和成绩。

我们想要查询出所有成绩大于80分的学生的姓名和成绩,可以使用以下的SQL语句:

select name, score from student

where id in(select id from score where score > 80);

6.视图
 

MySQL数据库中的视图是一种虚拟的表,它是基于一个或多个表的查询结果集。视图并不实际存储数据,而是在查询时动态生成结果集。

-创建视图

语法如下:

 create view 视图名

as

select 语句;

 -修改视图

语法如下:

 alter view 视图名

as

select 语句;

-删除视图 

语法如下:

drop view 视图名

7.函数 

-自定义函数

创建自定义函数

语法如下:

delimiter 新语句结束符号[@@ / ## / $$]

create function 函数名(参数,数据类型)

return 返回值类型

begin

SQL语句

return 返回值;

end

新语句结束符号[@@ / ## / $$]

delimiter;

删除自定义函数:

drop function 名字 

 -条件函数:

语法:

if(表达式,表达式1(真),表达式2(假));

8.表的约束简介

-域完整性

关键字说明
not null非空约束
default默认值约束

-实体完整性

关键字说明
primary key主键约束(唯一标识)
unique唯一约束
auto_increment自增约束

-参照完整性

关键字说明
foreign key外键约束

  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
测试工程师在使用MySQL时需要掌握以下知识点: 1. SQL语句的使用:熟悉SQL语句可以提高测试工程师在数据库校验和接口自动化中的效率。常用的SQL语句包括查询、插入、更新和删除等操作,测试工程师需要了解这些基本SQL操作以及各种查询条件的使用。 引用 2. MySQL客户端工具:测试工程师可以使用MySQL的客户端工具来连接和管理数据库。常用的MySQL客户端工具包括Sequel Pro、Navicat和SQLyog等。测试工程师需要熟悉这些工具的使用,包括连接数据库、执行SQL语句以及查看和修改数据等操作。 引用 3. 数据库校验:测试工程师在测试过程中通常需要对数据库中的数据进行校验,确保系统的各个模块正常运行和数据的一致性。测试工程师需要了解如何编写SQL语句来验证数据库中的数据是否符合预期结果。 引用 总结起来,测试工程师在MySQL方面的知识点包括SQL语句的使用、MySQL客户端工具的操作以及数据库校验等方面的知识。这些知识可以帮助测试工程师进行数据库相关的测试工作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [测试工程师入门知识点整理](https://blog.csdn.net/embracestar/article/details/125818154)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

娃哈哈哈哈呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值