一篇文章,介绍MySQL数据库基础知识

什么是数据库?

在学习编程的道路上我们肯定时不时都会听到数据库这个东西,那么他到底是干什么用的呢?顾名思义数据库就是数据的仓库,他是一类软件,这种软件就是用来组织、保存、管理数据的。

数据库与数据结构的区别

数据结构的名字我们一定也不陌生,好像他也是用来组织数据的东西,那么数据结构与数据库之间有什么关系呢?

数据结构
数据结构是一个学科,用来研究数据如何组织,对于大量的数据采用合适的方法去组织,而这个合适的方法就是数据结构所研究的。

数据库
数据库是一个软件,用来组织数据、保存数据、管理数据,数据库如何组织数据呢?其实数据库在被实现的过程中也用到了很多数据结构。

数据库的分类

我们听到最多的数据库就是MySQL了,然而数据库软件并不只有MySQL一种,不仅如此,数据库还有分类,数据库大体可以分为关系型数据库非关系型数据库

关系型数据库:
指采用了关系模型来组织数据的数据库,关系模型就是二维表格,而一个关系型数据库就是由二位表及其之间的联系所组成的一个数据组织。
常见的关系数据有Oracle MySQL SQL Server

非关系型数据库:
常见的非关系型数据库:redis MongoDB HBase 非关系型数据库功能相比于关系型数据库要少一点,但是性能更高。

简单总结一下二者的区别

关系型数据库非关系型数据库
使用SQL不强制要求,一般不基于SQL实现
事务支持支持不支持
复杂操作支持不支持
海量读写操作效率低效率高
基本结构基于表和列,结构固定灵活性比较高
使用场景业务方面的OLTP系统用于数据

如何下载安装数据库?

经过上面的阅读,大家对于数据库已经有一个简单的了解了,下面我将向大家介绍如何安装MySQLMySQL安装大家可以点击这个链接访问Oracle官网下载MySQL,下载完成后,打开安装包根据指引一路next就可以安装成功了,安装成功之后我们可以找到这样一个程序:
在这里插入图片描述
点击这两个程序就可以打开MySQL,打开后需要输入我们在安装时设置的密码才可以进入数据库。
在这里插入图片描述
输入密码正确后,当我们看到这样的界面就说明MySQL已经安装成功了。

将MySQL命令添加到PATH路径

这样做的好处是我们可以直接在命令行窗口使用MySQL命令打开数据库。
在这里插入图片描述
完成上面的操作之后,我们就可以打开命令行窗口输入mysql -u root -p打开数据库。
在这里插入图片描述

数据库如何储存数据

MySQL 这个数据库软件,是一个客户端服务器结构的程序。什么是客户端?服务器又是什么呢?我们可以做一个假设,你家里有一个厨师,而你随时可能会饿,你饿了就会向厨师点菜,厨师就会给你做饭,像这样**你是主动去发起交互的一方,所以你就叫做客户端,而厨师是被动接受你的请求,完成交互,所以厨师就是服务器。**客户端给服务器发的数据,就是请求。服务器返回给客户端的数据,就是响应。而因为厨师不知道我何时会饿,所以就得24小时待命,所以数据库的服务器要保证服务的稳定性。

数据被放在那里

那么数据是被放在客户端还是服务器呢?服务器!一定是放在服务器上的!

在这里插入图片描述
MySQL具体是使用什么样的硬件设备来保存呢?MySQL以及其他的关系型数据库都是使用硬盘来保存数据的。为什么使用硬盘而不适用内存呢?内存也可以用来存储数据啊。这样我们就不得不提内存与外存的区别:

1、内存的访问速度快,外存访问速度慢
2、内存的空间比较小,外存的空间更大。
3、内存成本贵,外存更便宜。
4、内存的数据,断电后会丢失,外存的数据,断电后还在。

综上选择硬盘来存储数据。

关系型数据库的存储结构

数据在服务器上到底以什么结构组织的呢?

1、MySQL服务器为了更好的组织数据,需要将数据从逻辑上划分为多个数据集合,这集合也成为”数据库“。
2、每个数据库里,使用表结构来组织数据
3、表里面有行结构,每个记录就是一行。
4、每一行有很多列,每个列也成为字段。

在这里插入图片描述

SQL语句

SQL是一种编程语言,通过SQL来完成对数据库的增删改查,不同的数据库软件,可能对于SQL的语法支持略有差异,但是整体都是一样的。SQL语言运行在数据库软件上,就像Java运行在jvm上一样。

创建数据库create

首先我们要使用数据库,就需要自己创建一个数据库,并使用该数据库,在数据库中创建若干张表。如何使用SQL语句实现这个操作呢?我们使用create

create database school;创建school数据库
在这里插入图片描述

use school;使用数据库
在这里插入图片描述

create table student ( id int, name varchar(50) );创建一个学生表,表里面有学生的 id 和 姓名。
在这里插入图片描述

desc student;我们还可以查看刚才创建的表
在这里插入图片描述

删除数据库drop

我们经常调侃删库跑路,现在我们真的学习到了如何删除数据库,使用drop

drop table student删除student表。
在这里插入图片描述

drop database school;删除school数据库。
在这里插入图片描述
注意删除数据库是非常危险的操作,要谨慎在谨慎,如果公司的数据库被你删了,那么你基本也就凉凉了。

插入数据insert

既然数据库是用来存储数据,组织数据,管理数据的,那在创建数据库和表之后,我们需要向表中插入数据,就需要使用insert.

insert into student values (1,'张三');可以一次插入一个数据。
在这里插入图片描述

insert into student values (2,'李四'),(3,'王五');可以一次插入多行数据,中间用,隔开。
在这里插入图片描述

insert into student(id) values (4);还可以对指定的列进行插入数据。
在这里插入图片描述

修改数据update

当我们插入数据时不小心输入错误了怎么办呢?删除表在重新创建重新录入嘛?显然是不对的,这时我们使用update就可以修改数据。
在这里插入图片描述
此时张三的id是1,但此时的数据是错误的我们需要进行修改

update student set id = 10 where name = '张三';使用update进行修改,where的作用可以相当于if选择语句,对所更改的数据进行筛选。
在这里插入图片描述
在这里插入图片描述

查询数据select

查询是数据库中比较重要的操作,为了让查询的结果符合我们的预期,查询语句相比于其他语句会复杂一点,这里我们只介绍基础一点的查询语句。

全列查询
select * from student;
在这里插入图片描述

指定列查询
select id from student;
在这里插入图片描述

别名
select name as information from student;
在这里插入图片描述

去重查询
select distinct id from student;
在这里插入图片描述
此时查询id有重复,我们希望把重复的去掉只显示一次就可以了,使用distinct查询。
在这里插入图片描述

排序
select * from student order by id;
有些时候我们希望数据从小到大(ASC)或者从大到小(DESC)进行排列,此时我们可以使用order by
在这里插入图片描述
此时是从小到大排序的,我们还可以从大到小排序。
在这里插入图片描述

选择查询
有些时候由于数据库中的数据量太过庞大,我们查询时效率不高,就需要进行筛选,提高查询效率。

一般选择select * from student where id = 2;
在这里插入图片描述
范围查询select * from student where id between 2 and 4;
也可以使用and or 来进行范围查询,and or相当于并和或。
在这里插入图片描述
模糊查询select * from student where name like '%四';
在这里插入图片描述
%他是一个通配符,他可以代表任意个字符,这句sql语句的意思就是查询所以名字为四结尾的同学的信息。

_这个也是一个通配符,他仅代表一个字符。

分页查询
select * from student order by id limit 0,2;
在这里插入图片描述
有时我们的数据太多一个页面放不下这么多数据,我们就可以使用limit进行分页查询。0表示从0开始,2表示每个页面显示两行数据。

以上就是一些数据库的基础知识,下篇文章我们将介绍一下数据库的进阶知识,更复杂的查询,事物与索引,和JDBC编程。

  • 24
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 19
    评论
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

悲伤猪小猪

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

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

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

打赏作者

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

抵扣说明:

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

余额充值