一文清晰梳理Mysql 数据库

news2025/1/14 11:42:00

现在处于大四上学期的阶段,在大四下学期即将要进行毕业设计,所以在毕业设计开始之前呢,先将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.coloradmin.cn/o/2276456.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于大语言模型的组合优化

摘要:组合优化(Combinatorial Optimization, CO)对于提高工程应用的效率和性能至关重要。随着问题规模的增大和依赖关系的复杂化,找到最优解变得极具挑战性。在处理现实世界的工程问题时,基于纯数学推理的算法存在局限…

安装conda 环境

conda create -n my_unet5 python3.8 conda activate my_unet5

容器技术全面攻略:Docker的硬核玩法

文章背景 想象一下,一个项目终于要上线了,结果因为环境配置不一致,测试服务器一切正常,生产环境却宕机了。这是开发者噩梦的开始,也是Docker救世主角色的登场!Docker的出现颠覆了传统环境配置的方式&#…

LabVIEW部署Web服务

目录 LabVIEW部署Web服务1、创建项目2、创建Web服务3、新建WebVI3.1、使用GET方法3.2、使用POST方法 4、 部署和对应URL4.1、应用程序:80804.2、本地调试:80094.3、NI Web服务器:9090(禁用) 5、测试5.1、测试GET方法5.2、测试POST方法 6、实际…

STM32 : 波特率发生器

波特率发生器 1. 发送器和接收器的波特率 波特率寄存器 (BRR): 在串行通信中,发送器和接收器的波特率是由波特率寄存器(BRR)中的一个值 DIV 来确定的。 2. 计算公式 计算公式: 详细解释 1. 波特率寄存器 (BRR) BRR: 波特率寄存器是一…

Excel数据叠加生成新DataFrame:操作指南与案例

目录 一、准备工作 二、读取Excel文件 三、数据叠加 四、处理重复数据(可选) 五、保存新DataFrame到Excel文件 六、案例演示 七、注意事项 八、总结 在日常数据处理工作中,我们经常需要将不同Excel文档中的数据整合到一个新的DataFra…

基于微信小程序的汽车销售系统的设计与实现springboot+论文源码调试讲解

第4章 系统设计 一个成功设计的系统在内容上必定是丰富的,在系统外观或系统功能上必定是对用户友好的。所以为了提升系统的价值,吸引更多的访问者访问系统,以及让来访用户可以花费更多时间停留在系统上,则表明该系统设计得比较专…

C#调用OpenCvSharp实现图像的开运算和闭运算

对图像同时进行腐蚀和膨胀操作,顺序不同则效果也不同。先腐蚀后膨胀为开运算,能够消除小斑点和细小的突出物、平滑图像以及改善边缘;先膨胀后腐蚀为闭运算,能够去除噪点、填补图像孔洞、连接邻近物体和平滑物体边界。   OpenCvS…

从 SQL 语句到数据库操作

1. SQL 语句分类 数据定义语言 DDL : 用于定义或修改数据库中的结构,如:创建、修改、删除数据库对象。create、drop alter 数据操作语言 DML : 用于添加、删除、更新数据库中的数据。select、insert alter、drop 数据控制语言 D…

django在线考试系统

Django在线考试系统是一种基于Django框架开发的在线考试平台,它提供了完整的在线考试解决方案。 一、系统概述 Django在线考试系统旨在为用户提供便捷、高效的在线考试环境,满足教育机构、企业、个人等不同场景下的考试需求。通过该系统,用…

【Spring Boot 应用开发】-04-01 自动配置-数据源-连接池

资源关闭 还记得上一节中的这段代码么? try {if (resultSet ! null) resultSet.close();if (preparedStatement ! null) preparedStatement.close();if (connection ! null) connection.close(); } catch (SQLException e) {e.printStackTrace(); }这是我们在查询…

AngularJs指令中出错:Error: $compile:nonassign Non-Assignable Expression

Expression {resumeId: item.resumeId} used with directive rwdsDelete is non-assignable! 在AngularJS中,$compile服务用于将指令编译成HTML。当你在模板中使用了一个表达式,但这个表达式不是一个左值(即不能被赋值的表达式)时…

Docker 的安装和基本使用[SpringBoot之Docker实战系列] - 第535篇

历史文章(文章累计530) 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 《国内最全的Spring Boot系列之六》 《…

聚铭网络当选中关村华安关键信息基础设施安全保护联盟理事单位

近日,在北京隆重举行的中关村华安关键信息基础设施安全保护联盟(以下简称“联盟”)第一届第四次会员大会上,聚铭网络凭借其在网络安全领域的卓越贡献和创新实力,成功当选为联盟的理事单位。此次大会吸引了来自政府机关…

CES 2025|全面拥抱端侧AI,美格智能在CES发布系列创新成果

要点: ▶ 在AI机器人领域,以高算力AI模组助力发布“通天晓”人形机器人和2款全新微小型AI机器人 ▶ 在AI硬件领域,发布消费级AI智能体产品——AIMO,引领个人专属的大模型时代 ▶ 在5G通信领域,发布全新5GWiFi-7 CPE…

VScode 配置 C语言环境

遇到的问题集合 mingw官方下载网站(https://sourceforge.net/projects/mingw-w64/files/)更新之后,与网上大多数教程上写的界面不同了。 网上大多数教程让下载这个: 但是现在找不到这个文件。 写hello.c文件时,报错&…

013:深度学习之神经网络

本文为合集收录,欢迎查看合集/专栏链接进行全部合集的系统学习。 合集完整版请参考这里。 深度学习是机器学习中重要的一个学科分支,它的特点就在于需要构建多层且“深度”的神经网络。 人们在探索人工智能初期,就曾设想构建一个用数学方式…

STM32-Flash存储

目录 1.0 闪存模块组织 2.0 Flash基本结构 3.0 Flash解锁 4.0 指针访问存储器地址 5.0 程序存储器编程 6.0 选项字节 7.0 选项字节编程 8.0 选项字节擦除 9.0 电子签名 10.0 手册解读 定义: STM32F1系列的FLASH包含程序存储器、系统存储器和选项字节三个部…

工程水印相机结合图纸,真实现场时间地点,如何使用水印相机,超简单方法只教一次!

在工程管理领域,精准记录现场信息至关重要。水印相机拍照功能,为工程人员提供了强大的现场信息记录工具,助力工程管理和统计工程量,更可以将图片分享到电脑、分享给同事,协同工作。 一、打开图纸 打开手机版CAD快速看图…

Oracle 分区索引简介

目录 一. 什么是分区索引二. 分区索引的种类2.1 局部分区索引(Local Partitioned Index)2.2 全局分区索引(Global Partitioned Index) 三. 分区索引的创建四. 分区索引查看4.1 USER_IND_COLUMNS 表4.2 USER_INDEXES 表 五. 分区索…