一文清晰梳理Mysql 数据库

server/2025/1/15 17:51:47/

现在处于大四上学期的阶段,在大四下学期即将要进行毕业设计,所以在毕业设计开始之前呢,先将Mysql 数据库有关知识进行了一个梳理,以防选题需要使用到数据库

1)什么是数据库? 

简单理解数据库,就是存储数据的一个东西。当然这样简单理解显然会产生偏差,所谓的Mysql数据库它确实是用来辅助存储数据的。思考一下我们平时上CSDN,看文章的时候,这些文章是怎么有序的显示并出现在我们的手机屏幕上的呢?

所有的文章数据都是被存储在距离我们很远的数据库上,而当我们在CSDN网站上点击某个文章的时候,某个神秘的软件就可以解析我们屏幕上的点击事件从而帮我们在数据库中找到对应得数据,并通过网络将对应数据传送至手机然后显示在屏幕上,而这个神秘的东西被称之为DBMS(资料库管理系统),所以其实是DBMS在后面帮我们完成了一系列的事情,它可以精确的从数据库中海量的数据精确、快速的为我们找到想要的数据,并通过网络快速传送到手机上。

明确一点:数据库数据库管理系统(DBMS)连接在一起,通过DBMS我们可以很好的操作数据库,可以帮助我们快速准确,高效率的管理数据库中的数据。

实际上DBMS这个软件非常的多,就像聊天软件一样也有很多种。导致其DBMS很多的原因是因为数据库本身有区别导致其设计的数据库管理系统也多种多样。

1.1 数据库管理系统的分类

SQL关系型数据库管理系统(RDBMS):以关系模型为基础,使用表格来组织和管理数据,如Oracle、MySQL、SQL Server等数据库管理系统都可以管理关系型数据库

非关系型数据库管理系统(NoSQL DBMS):不使用关系模型,可以灵活地存储和检索数据,如MongoDB、Cassandra、Redis等可以管理非关系型数据库。 

在实际使用当中,我们使用较多的都是RDBMS,这里以使用较多的MySQL为例进一步梳理。其中SQL是Structured Query Language。

2)Mysql的下载

mysql又是什么呢,在弄清楚mysq是什么之前,我们要首先清楚数据库管理系统是操作对应数据库的软件(APP),而我们想要使用数据库管理系统需要特定的语言来告诉系统该相应的指令,而操作数据库管理系统的语言被称之为SQL(Structured Query Language)。对于mysql来说,其mysql也是数据库管理系统中的一种,要进行使用mysql管理系统就要使用mysql听的懂得语言,即接下去得大部分时间都是在该语言的学习和使用上。

接下去使用mysql来学习sql。

进入官网

 直接download

选择上面三个,然后进行下一步,然后直接就是一值下一步。

设置相应的密码就可以,当然需要牢记自己设置的密码,之后会用到。

下载好后,运行出来的界面如下所示

到这里先暂停,先进一步再了解一些知识,再开始敲代码学习mysql。 

3)主键和外键

主键:

表格中每一列是一个属性,每一行代表一笔资料,对于这样一个表格,想要区分表格中的每一笔资料就需要主键来进行区分,例如上表中就可以将student_id作为主键(primary key),用于唯一标识表格中的每一笔资料。就比如学生表中,可能存在同一个专业有同名的人,那么想要区分他们的话就需要主键即学号来区分这两个不同的数据。主键:用于唯一标识每条记录(每一笔数据)的字段(属性)或字段(属性)组合。

外键:

员工表包含员工id,姓名,出生日期,性别,薪水,在最开始的员工表中本来没有员工所属部门的属性, 员工id(emp_id)作为主键;另外一张Branch表,其branch_id 是主键,含有一个属性branch_name。为了在员工表和Branch表之间建立联系,就可为员工表添加一个外键(foreign key), 这个外键同时又是Branch表的主键。

而对于外键来说,可以是来自于其他表格的主键,也可以是来自于自己表格的主键,如下图所示,其Branch表添加外键来自于员工表,标识出了每个部门 主管其员工id是多少;其员工表继续添加一个外键(sup_id)来自于自己表格的主键,其标识每个员工其直接所属的上司。

主键还可以是字段(属性)组合:

加入表格中的某个属性不能够直接额做为主键来唯一标识某个数据的话,可以选择多个属性组合起来作为一个主键来唯一标识每条记录。 

4)创建数据库和删除数据库 

接下去我们就要开始学习sql语言,而我们学习的是和mysql交互的语法。

点击图中connections下方已经自动连接好的一个,双击打开后如下图所示。 通过下图窗口1区域的按钮,点击就可以 改变布局变成下面的样子。

然后就可以书写一系列的指令代码进行表格的创建以及相关操作。但是在实际中我们并不常直接使用代码一句一句的运行创建(我是很少用,可能公司里是用的),使用navicat连接mysql手动通过一些交互式界面来进行数据库的创建。但是对于初学者来说应当从最基础的sql语法学起。

数据库的创建

数据库创建并显示该数据库,显示所有数据库,发现有五个数据库,其中sql_tutorial是我们刚刚新建的,其余四个是自动建立的数据库,我们使用不到。

数据库的删除

使用drop后就可以删除刚刚创建的数据库了,再次显示所有数据库后,其刚刚创建的sql_tutorial数据库被删除。

数据库中创建表格

六种常用数据形态:

 首先使用use选中sql_tutorial数据库,表示在该数据库中创建表格;创建student表格,student表格中拥有student_id属性,且该属性的值类型是INT 且该属性是该表格的主键,name属性,major属性 他们的属性值都是字符串类型,其预留20位字符串。

显示和删除表格

改动表格 

将为表格添加gpa属性,且该属性值的类型是小数类型;删除表格中的gpa属性。

将数据存入表格 

将1,小白,历史 存入学生表格。

并通过select * 将student中所有的数据都显示出来。

属性数据的限制

添加 not null 和 unique的限制后,当再次向student表格中添加数据的时候,name的值不可以为空,每条记录的major字段都需要不一样。

添加 default 历史 表示预设值为历史。

auto_increment 表示自增

修改和删除资料

我现在想修改student表格,所以先使用updata选中要修改的表格,set表示将major改成英语文学,增加条件判断,只有当major为英语的才将其改为英语文学。

我现在想将student表格中生物和化学合并,set表示将major改成生化,增加条件判断,只有当major为生物或者为化学的时候将其改为生化。

使用delete from选中要进行删除操作的表格,添加判断条件,当student_id为4的时候就删除该条记录,同样的在条件判断的时候也可以添加多个条件判断。

如何取得资料

select 写在select后面的属性就是要被选择出来的属性。全部都要就写*

想要排序

 由高到低 加desc

limit 限制回传资料的条数

到此为止,数据库基本的基础知识已经完成了!!!!!


http://www.ppmy.cn/server/158317.html

相关文章

torch.einsum计算张量的外积

torch.einsum 是一种强大的张量操作工具,可以通过爱因斯坦求和约定(Einstein summation convention)来简洁地表示复杂的张量运算。通过它,我们可以高效地计算矩阵乘法、转置、点积、外积等操作。 以下是关于如何使用 torch.einsum 计算两个四维张量在第三维度上的外积的解…

若依前后端分离项目部署

一、后端 1.修改文件存储路径 2.修改后端端口号,也可不进行修改(端口号没有被占用) 3.修改redis的地址(云服务器地址)、端口号以及密码 4.修改MySQL数据库的地址以及密码 5.修改日志存储路径 6.打包 7.将jar包上传到服…

Spring Boot 2 学习全攻略

Spring Boot 2 学习资料 Spring Boot 2 学习资料 Spring Boot 2 学习资料 在当今快速发展的 Java 后端开发领域,Spring Boot 2 已然成为一股不可忽视的强大力量。它简化了 Spring 应用的初始搭建以及开发过程,让开发者能够更加专注于业务逻辑的实现&am…

STM32-按键光敏传感器----原理(待补充)

1.GPIO 1.1 GPIO的基本结构 在每个GPIO模块内,主要包含了寄存器和驱动器,寄存器就是一段特殊的存储器,内核可以通过APB2总线对寄存器进行读写,这样就可以完成输出电平和读取电平的功能了,寄存器的每一位对应一个引脚&…

ArkTS 基础语法:声明式 UI 描述与自定义组件

1. ArkTS 简介 ArkTS 是 HarmonyOS 应用开发中的一种编程语言,它结合了 TypeScript 的类型检查和声明式 UI 描述方式,帮助开发者更高效地构建用户界面。 2. 声明式 UI 描述 ArkTS 使用声明式语法来定义 UI 结构,通过组件、属性和事件配置实…

RuoYi-Vue-Plus 加入 GitCode:驱动多租户后台管理创新发展

在当今数字化进程持续推进的时代背景下,企业对后台管理系统的要求不断攀升,高效、安全、灵活与可拓展性成为关键要素。近日,RuoYi-Vue-Plus 正式加入 GitCode,为多租户后台管理领域带来全新动力与机遇,有力推动行业技术…

什么是同步电路与异步电路?有什么区别

同步电路与异步电路的本质区别在于:数据的更新和逻辑变化是否由统一的时钟信号(clock)来统一调度。 同步电路:所有的存储单元(触发器、寄存器)都在同一个时钟沿(通常是上升沿,或下降…

Windows安装Jenkins——及修改主目录、配置简体中文、修改插件源

一、简介 Jenkinshttps://www.jenkins.io/zh/ Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。 二、Windows安装配置Jenkins2.479 2.1、J