MySQL学习1

本文深入探讨了数据库的基本概念,包括数据库的定义、SQL的作用,重点讲解了MySQL的关系型数据库系统,比较了关系型与非关系型数据库的优缺点,并详细解析了MySQL的存储引擎如InnoDB和MyISAM。
摘要由CSDN通过智能技术生成

数据库介绍

数据库DB

DB的全称是database,即数据库的意思。数据库实际上就是一个文件集合,是一个存储数据的仓库,数据库是按照特定的格式把数据存储起来,用户可以对存储的数据进行增删改查操作;

SQL

SQL代表结构化查询语言(Structured Query Language)。SQL是用于访问数据库的标准化语言。
SQL包含三个部分:
DDL 数据定义语言包含定义数据库及其对象的语句,例如表,视图,触发器,存储过程等。
DML 数据操作语言包含允许更新和查询数据的语句。(在这里查询语言可分为DQL)
DCL 数据控制语言允许授予用户权限访问数据库中特定数据的权限。

MySQL

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

关系型数据库 (SQL)

关系型数据库是依据关系模型来创建的数据库。
所谓关系模型就是“一对一、一对多、多对多”等关系模型,关系模型就是指二维表格模型,因而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。
关系型数据可以很好地存储一些关系模型的数据,比如一个老师对应多个学生的数据(“多对多”),一本书对应多个作者(“一对多”),一本书对应一个出版日期(“一对一”)
主要有:Oralce Mysql DB2 PostgreSQL SqlServer

非关系型数据库(NOSQL)
  • 非关系型数据库主要是基于“非关系模型”的数据库(由于关系型太大,所以一般用“非关系型”来表示其他类型的数据库)
    非关系型模型比如有:
    存储的数据是一列列的。关系型数据库以一行作为一个记录,列模型数据库以一列为一个记录。(这种模型,IO很快,主要是一些分布式数据库)
    主要有:Redis MongDB Memcache

关系型数据库与非关系型数据库的区别

1.关系型数据库:
优点:
1、易于维护:都是使用表结构,格式一致;
2、使用方便:SQL语言通用,可用于复杂查询;
3、复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。
缺点:
1、读写性能比较差,尤其是海量数据的高效率读写;
2、固定的表结构,灵活度稍欠;
3、高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。
2.非关系型数据库
优点:
1、格式灵活:存储数据的格式可以是key,value形式、文档形式、图片形式等等,文档形式、图片形式等等,使用灵活,应用场景广泛.
2、速度快:可以使用硬盘或者内存作为载体,而关系型数据库只能使用硬盘;
3、成本低:数据库部署简单,基本都是开源软件。

缺点:
1、不提供sql支持,学习和使用成本较高;
2、无事务处理;

MySQL存储引擎

MySQL引擎:
MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。 这些不同的技术以及配套的相关功能在MySQL中被称作存储引擎。
可以理解为,MySQL的“文件系统”,只不过功能更加强大。
MySQL引擎功能:
除了可以提供基本的存取功能,还有更多功能事务功能、锁定、备份和恢复、优化以及特殊功能。和磁盘打交道,mysql中组织。

常见的储存引擎

InnoDB 支持外键、支持事务、支持行锁,读写较为频繁的应用
MyIsam 支持全文索引、存储空间更大,写的操作极少,查询操作极多
Memory(也叫HEAP)堆内存
Blackhole(黑洞引擎)Archive(归档引擎)

innodb 支持外键、支持事务、支持行锁,读写较为频繁的应用
myisam 支持全文索引、存储空间更大、写的操作极少、查询操作极多的情况
外键:外键的主要作用是保持数据的一致性、完整性。
索引: 索引相当于书中的目录,可以提高数据检索的效率,降低数据库的IO。MySQL在300万条记录左右性能开始逐渐下降,虽然官方文档说500~800w记录,所以大数据量建立索引是非常有必要的
是事务:事务是由一步或几步数据库操作这系列操作要么全部执行,要么全部放弃执行。程序和事务是两个不同的概念。
行锁与锁表:可以将一张表锁定和可以单独锁一行的记录。为了防止你在操作的
同时也有别人在操作。
事务具有四个特性:
原子性(Atomicity):事务是应用中最小的执行单位
,事务是应用中不可再分的最小执行体。
一致性(Consistency):事务执行的结果,当数据库中只包含事务成功提交的结果时,数据库处于一致性状态。
隔离性(Isolatio >):各个事务的执行互不干扰,并发执行的事务之间不能相互影响。
持续性(Durability):持续性也称为持久性,指事务一旦提交,对数据所做的任何改变,都要记录>到永久存储器中,通常是保存进物理数据库。
这四个特性也简称ACID性。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

cionsi

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

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

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

打赏作者

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

抵扣说明:

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

余额充值