【MySQL】数据库的基本认识和使用

devtools/2024/11/28 7:24:11/

为什么要使用数据库呢?我们知道Linux是有文件系统的,为什么不使用文件系统呢?

因为OS只负责把我们交给它的数据存储起来,存到某个文件中,它并不负责管理数据的具体内容,也就是说,我们交给OS什么东西,它压根不管(就是说文件没有提供非常号的数据管理的能力)。

并且文件保存数据有如下的几个缺点:

1.文件的安全性问题,比如并发访问会导致数据不一致的问题

2.文件不利于数据查询和管理

3.文件不利于存储海量数据

4.文件在程序中控制不方便

这就导致我们想要获取文件中的一些具体内容时还需要编码把文件中的数据读出来并提取出我们想要的内容

这样就显得麻烦了很多,那么有没有一种服务可以具体的管理文件中的数据呢?就用到了我们这篇博客要说的数据库

数据库其实有很多种,但是最常用的就是MySQL数据库

我们在安装好MySQL并且启动之后,首先要看看服务有没有启动:

可以看到有mysqld这样的守护进程正在运行,其实d就表示daemon(守护进程),这个就是mysql的服务端

因为mysql是基于tcp的网络服务,我们还可以用下面的指令查查mysql

知道mysql已经运行了之后,要做的就是登录,可以用下面的指令进行登录

mysql -h 127.0.0.1 -P 3306 -u root -p

之后我们需要输入我们设置好的密码即可登录进去,输入quit;就可以退出来

其实上面的h就代表host,要选择哪台主机;P就是port,MySQL服务默认的端口号就是3306,这个是在配置文件(Ubuntu下配置文件默认在

/etc/mysql/mysql.conf.d/mysqld.cnf

路径下)中配好的;u就是user,表示以谁的身份登录,p就是password。

上面的大部分内容其实都是默认确定的,我们其实只用输入下面的内容即可

mysql -u root -p

下面我们来简单用几个MySQL语句:

查看当前都有哪些数据库

所以到底什么是数据库呢?可以说是第一段讲到的,一套用于解决上面问题的解决方案。为什么数据库可以高效的插入或查询数据肯定是离不开数据库具体是如何架构的,它采用了什么样的方式。

也可以说就是上面图片中展示的具体的一个个的数据库(在磁盘或内存中存储的特定结构组织的数据),这里说的数据库肯定是以文件的形式存在的,通常在下面的路径下

ls /var/lib/mysql

确实是有名叫d1 d2 d3的目录的

创建名为helloworld的数据库

使用数据库并且在helloworld数据库中创建名为country的表

向表中插入数据并且查看表中的内容

经过上面简单的演示,可以看出一个数据库服务可以有多个database(数据库),一个database可以有多个table(表)

上面就是一些最基本的操作,下面我们再来跟深入的了解一下什么是MySQL

首先mysql数据库服务的客户端(只有有用户登录时才会有客户端进程),而上面查到的mysqld是数据库服务的服务端,所以mysql本质就是基于C(client)S(server)模式的一种提供数据存取的服务的网络服务

SQL(Structured Query Language,结构化查询语言),可以分为如下的三类:

1.DDL(Data Definition Language,数据定义语言),用来维护存储数据的结构

代表指令:create,drop,alter

2.DML(Data Manipulation Language,数据操纵语言),用来对数据进行操作

代表指令:insert,delete,updata

3.DCL(Data Control Language,数据控制语言),主要负责权限管理和事务

代表指令:grant,revoke,commit

MySQL的大体架构可以分为三层,第一层负责管理与用户的连接;第二层负责对用户输入的语句进行语法分析并优化,第三层负责让存储引擎去真正的管理数据

存储引擎是:数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法

MySQL的核心就是插件式存储引擎,支持多种存储引擎(就是存储引擎分成不同的几个,想用哪个直接引入)

可以用下面的指令查看都有什么存储引擎

show engines \G

其中用的最多的就是MyISAM和InnoDB


http://www.ppmy.cn/devtools/137598.html

相关文章

sk_buff 定义及其操作

转载:sk_buff 定义及其操作_skbuf-CSDN博客

试题转excel;试题整理工具;试卷转excel;word转excel

一、问题描述 我父亲是一名教师,偶尔会需要将试卷转excel,方便管理处理一些特别重要的题目 于是,就抽空写一个专门将试题转excel的工具,便于各位教师从业者和教育行业的朋友更好的整理试题,减少一点重复枯燥的工作 …

SpringMVC前后端数据交互

一、JSON格式数据 1、定义 JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,已被广泛用于数据保存和交换,是迄今为止最为理想的数据交换语言。 JSON 独立于编程语言 层次结构简洁和清晰 易于人阅读和编写,也易于…

【大数据学习 | Spark-Core】RDD的缓存(cache and checkpoint)

1. 单应用缓存:cache 1.1 cache算子 cache算子能够缓存中间结果数据到各个executor中,后续的任务如果需要这部分数据就可以直接使用避免大量的重复执行和运算。 rdd 存储级别中默认使用的算子cache算子,cache算子的底层调用的是persist算子…

网络安全基础之笔记二(传输层安全)

web安全威胁 web流量安全方法 SSL 两层协议组成。会话通过握手协议创建。 会话状态:会话标识符、对等证书、压缩方法、密码规格、主密钥(C/S共享的48字节的会话密钥)、可恢复性。 连接状态:随机字节串、服务器写MAC密钥、客户端…

【C语言】指针与数组的例题详解:深入分析与高级用法

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C语言 文章目录 💯前言💯题目一详细分析与解答代码逐步解析 💯进一步优化和拓展1. 指针与数组的关系2. 指针运算的注意事项3. 常见的错误和陷阱4. 拓展:指针操作的应用场…

Wireshark常用功能使用说明

此处用于记录下本人所使用 wireshark 所可能用到的小技巧。Wireshark是一款强大的数据包分析工具,此处仅介绍常用功能。 Wireshark常用功能使用说明 1.相关介绍1.1.工具栏功能介绍1.1.1.时间戳/分组列表概况等设置 1.2.Windows抓包 2.wireshark过滤器规则2.1.wiresh…

godot游戏引擎_瓦片集和瓦片地图介绍

在 Godot 中,TileSet 和 TileMap 是用于处理瓦片地图的两个关键概念,它们的作用和用途有明显的区别。以下是两者的详细对比: 1. TileSet(瓦片集) TileSet 是资源,定义瓦片的内容和属性。 特点&#xff1a…