MySQl基础----Linux下数据库的密码和数据库的存储引擎(内附 实操图和手绘
绪论涓滴之水可磨损大石,不是由于他气力强大,而是由于昼夜不舍地滴坠。 只有勤奋不懈地努力,才能够得到那些本领。 ——贝多芬。新开MySQL篇章,本章非常基础,但同时需要肯定的Linux基础,所以倘使你没学习过Linux发起检察我的Linux专栏来巩固肯定的Linux知识。我将持续更新等待你的关注。
https://img-blog.csdnimg.cn/direct/f64fbc1f8aba4123b41fa76b4c830a55.jpeg#pic_center
话不多说安全带系好,发车啦(发起电脑观看)。
头脑导图:
数据库基础
对于mysql数据库我们可以先了解其底层:
[*]mysql其实是Mysql服务的客户端
而在我们检察mysql进程 时常常会发现有个mysqld
https://i-blog.csdnimg.cn/direct/a31c8884fd6547f98efb3d1aaf06d63a.png
他是什么呢??
[*]mysqld是Mysql服务的服务器端(d:表现deamon)
所以mysql本质是基于C(mysql)S(mysqld)模式的一种网络服务,(下图展示mysql是网络通讯它的毗连环境)https://i-blog.csdnimg.cn/direct/de42f0be481743608be87a33de0f82bf.png
[*]mysql是一套给我们提供数据存取的服务的网络程序
[*]数据库一样寻常指的是,在磁盘/内存中存储的特定结构构造的数据(将来在磁盘上存储的一套数据库方案)
所以我们理解数据库服务端mysqld、数据库客户端mysql以及底层文件的关系:
https://i-blog.csdnimg.cn/blog_migrate/c63ad569f1638ebe75b05e0ac202658f.png
为什么不消文件来管理数据,而是使用数据库:
一样寻常的文件确实提供了数据的存储功能,但是文件并没有提供非常好的数据管理能力,(此处若要获取/或修改文件中的数据就需要程序员去写代码来进行管理,有点贫苦且低效),所以需要一套管理文件的程序,这样我们程序员使用时就能更加快捷的管理好内部存储的数据:也就是数据库
数据库本质:对数据内容存储的一套办理方案,你给我字段大概要求,数据库直接给出想要的效果。
文件生存数据有以下几个缺点:
[*]文件的安全性问题
[*]文件不利于数据查询和管理
[*]文件不利于存储海量数据
[*]文件在程序中控制不方便
数据库存储介质:
[*]磁盘
[*]内存
mysql的基础使用
[*]创建数据库和检察数据库:
创建数据库:
create database helloworld; #helloworld数据库名
查看已存在的数据库,一般会默认存在些 :
show databases;#
注:创建数据库,本质就是创建一个目录
在mysql的配置文件中其datadir就是mysql的数据默认存在的路径:/var/lib/mysql
详细如下:
https://i-blog.csdnimg.cn/blog_migrate/8ad5fe796398aec9cf4ba0863e3a9a9d.png
[*]表格的创建和插入的数据
在库中存储的数据是以表格的形式存储的,要创建表就得先使用(进入)到数据库中,再初始化创建表格样式,最后插入数据到表格中。
1. 使用表
use helloworld;
2.初始表格结构
create table student(
name varchar(32),
age int,
gender varchar(2)
);
3.查看创建好的表
show tables;
4.插入数据
insert into student(name,age,gender) value('张三',20,'男'); #插入数据到表格中:
5.查看表的内容
select * from student;
https://i-blog.csdnimg.cn/blog_migrate/9119d57ba4de1387e293beaab2a343f8.png
https://i-blog.csdnimg.cn/blog_migrate/107b961a4648a9dd26e9fc8181312529.png
注:在数据库库中创建表格也就相称于Linux下创建一个文件(mysqld服务端执行的):
https://i-blog.csdnimg.cn/blog_migrate/0f1a1dc5853ad1bc2228a752ca02b7ed.png
3. 对此mysql帮我们办理了:程序员就不消再去关心数据文件了,只用去想要对文件做什么,然后通过mysqld服务器完成
https://i-blog.csdnimg.cn/blog_migrate/458a38a34afd6736a2cd20c7854f3e54.png
附:mysql的数据是按逻辑存储的,通过行列的方式来存储数据的(二维结构),按行进行插入。
主流数据库:
[*]SQL Sever: 微软的产品,.Net程序员的最爱,中大型项目。
[*]Oracle: 甲骨文产品,得当大型项目,复杂的业务逻辑(银行…),并发一样寻常来说不如MySQL。
[*]MySQL:世界上最受接待的数据库,属于甲骨文,并发性好,不得当做复杂的业务。主要用在电商,SNS,论坛。对简单的SQL处理惩罚效果好。
[*]PostgreSQL :加州大学伯克利分校计算机系开发的关系型数据库,不管是私用,商用,还是学术研究使用,可以免费使用,修改和分发。
[*]SQLite: 是一款轻型的数据库,是服从ACID的关系型数据库管理体系,它包含在一个相对小的C库中。它的设计目的是嵌入式的,而且目前已经在许多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,大概只需要几百K的内存就够了。
[*]H2: 是一个用Java开发的嵌入式数据库,它本身只是一个类库,可以直接嵌入到应用项目中。
服务器、数据库、表的关系相称于下图:
所谓安装数据库服务器,只是在机器上安装了一个数据库管理体系程序,这个管理程序可以管理多个数据库,一样寻常开发人员会针对每一个应用创建一个数据库。
https://i-blog.csdnimg.cn/blog_migrate/5957395b6e6fcc7f2d81330176b66d90.png
MySQL架构
MySQL 是一个可移植的数据库,几乎能在当前全部的操纵体系上运行,如 Unix/Linux、Windows、
Mac 和 Solaris。各种体系在底层实现方面各有不同,但是 MySQL 根本上能保证在各个平台上的物理体系结构的同等性。
Client connectors:客户端
https://i-blog.csdnimg.cn/blog_migrate/5b77a56ece635524c4867eac86bc9e06.png
大致分为三层
[*]上图在MySQL Server中connection pool用于安全、链接受理,将所写的SQL语句和底层毗连起来。
[*]再connection pool下面的四个框其本质就是用来解释以及优化所写的SQL语句(类似于编译器)。
[*]再下面Pluggable Storage Engines是各种存储引擎(类似于计算机中的驱动),程序员就能根据不同的需求选择不同的储存引擎,比方对于处理惩罚大文本就可以选择MyISAM、对于要快速查找数据就可以使用InnoDB(本质他们才是真正主要对数据进行处理惩罚办事的人)。
SQL语句的分类
[*]DDL:DDL【data definition language】 数据界说语言,用来维护存储数据的结构,代表指令: create, drop, alter(界说表)
[*]DML【data manipulation language】 数据操纵语言,用来对数据进行操纵代表指令: insert,delete,update(修改表)
[*]DCL【Data Control Language】 数据控制语言,主要负责权限管理和事务,代表指令: grant,revoke(取消权限),commit
DDL可以理解为库、表结构的操纵,而DML就是结构体内的操纵(理解成对库、表内部数据的操纵!)
存储引擎
存储引擎是:数据库管理体系如何存储数据、如何为存储的数据创建索引和如何更新、查询数据等技能的实现方法。
Mysql的核心就是插件时的存储引擎,它是支持各种存储引擎的。
检察能使用的全部存储引擎语法:
show engines \G;
https://i-blog.csdnimg.cn/blog_migrate/1712d4feb6cde141e199e2e9992f9bf9.png
总结:
[*] MySQL底层也是C/S模式的一种网络服务,我们一样寻常使用的就是mysql的客户端,而其底层另有服务端也就是mysqld,此中的d代表的就是deamon(守护进程的形式在背景进行着)
[*] MySQL在Linux角度,创建的库其实就是目录,而创建的表其实就是目录中的文件
[*] MySQL的结构大概分为三层:第一层是mysql的毗连池用于管理毗连和安全、第二层为对SQL语句的语意词义的分析(可以理解成编译器),第三层就是MySQL中的插件式存储引擎,这些储存引擎才是真正主要进行对数据的操纵的。
本章完。预知后事如何,暂听下回分解。
如果有任何问题接待讨论哈!
如果觉得这篇文章对你有所资助的话点点赞吧!
持续更新大量MySQL过细内容,早关注不迷路。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]