目录
什么是SQL:
SQL代表结构化查询语言(Structured Query Language)。SQL是用于访问数据库的标准化语言。
SQL包含四个部分:
DDL 数据定义语言包含定义数据库及其对象的语句,例如表,视图,触发器,存储过程等。
DML 数据操作语言包含允许更新数据的语句。
DCL 数据控制语言允许授予用户权限访问数据库中特定数据的权限。
DQL 数据库查询语言。
Mysql是什么:
Mysql是一个关系型数据库管理系统,Mysql是最流行的关系型数据库管理系统之一,在WEB应用方面,Mysql是最好的RDBMS(Relational Database Management System,关系型数据库管理系统)应用软件之一。关系型数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
什么是关系型数据库(SQL):
关系型数据库是依据关系模型来创建的数据库。所谓关系模型就是“一对一、一对多、多对多”等关系模型,关系模型就是指二维表格模型,因而一个关系型数据就是由二维表及其之间的联系组成的一个数据组织。
关系型数据可以很好的存储一些关系模型的数据,比如一个老师对应多个学生的数据(“多对多”),一本书对应多个作者(“一对多”),一本书对应一个出版日期(“一对一”)。
什么是非关系型数据库(NOSQL):
非关系型数据库主要是基于“非关系模型”的数据库(由于关系型太大,所以一般用“非关系型”来表示其他类型的数据库)
非关系型模型例如:
存储的数据是一列列的。关系型数据库以一行作为一个记录,列模型数据库以一列为一个记录。(这种模型,IO很快,主要是一些分布式数据库)
关系型数据库与非关系型数据库各自的优缺点:
关系型数据库
优点:
- 易于维护:都是使用表结构,格式一致;
- 使用方便:SQL语言通用,可用于复杂查询;
- 复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询;
- 学习成本低。
缺点:
- 读写性能比较差,尤其是海量数据的高效率读写;
- 固定的表结构,灵活度稍欠;
- 高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。I/O指吞吐量,机械硬盘的吞吐速度要比固态硬盘慢得多。
非关系型数据库
优点:
- 格式灵活:存储数据的格式可以是key,value形式、文档形式、图片形式等等,使用灵活,应用场景广泛;
- 速度快:可以使用硬盘或者内存作为载体,而关系型数据库只能使用硬盘;redis数据库单线程10w;
- 成本低:数据库部署简单,基本都是开源软件。
缺点:
- 不提供sql支持,学习和使用成本较高;
- 无事务处理,事务支持较弱。
扩展:一般面对客户的数据库先是非关系型数据库之后才是关系型数据库,比如用户使用查询功能会先到非关系型数据库查询,以此减轻关系型数据库的负载压力。