0.1为什么要使用数据库
随着互联网技术的高速发展,随之而来的就是庞大的网络数据量。大量的数据正在不断产生,那么如何安全有效地存储、检索,管理它们?
而使用数据库就可以高效且条理分明地存储数据,能够更加快速和方便地管理数据。
数据库(DataBase),简称DB,存储数据的"仓库",通常是一个或一组文件
数据库管理系统:操作和管理数据库的软件,用于建立、使用和维护数据库。简称DBMS。常用的有MySQL(广),Oracle(贵),DB2(少),SqlServer
Mysql:是一个关系型数据库管理系统;开源、成本低、体积小、速度快
0.2SQL概述
SQL是一个结构化查询语言,是一套标准。但是每一个数据库都有自己的特性。当使用这个数据库特性相关的功能,这时SQL语句可能就不是标准了。(90%以上的SQL都是通过的)。
SQL的分类:
DQL:数据查询语言,对数据进行查询。代表关键字select
DML:数据操纵语言,可以实现对数据库的基本操作。代表关键字insert、update和delete
DDL:数据定义语言,用来创建数据库中的各种对象。代表关键字create、alter和drop
TCL:事务控制语言,用于控制事务。代表关键字commit、rollback
DCL:数据控制语言,授予和回收访问数据库的某种特权。代表关键字grant、revoke
SQL脚本:文件以sql结尾,文件中编写了大量的sql语句,这样的文件称为sql脚本。
0.3三大范式
第一范式:确保每列的原子性,每列不可被拆分
第二范式:在第一范式的基础上,非主键列完全依赖主键,不能部分依赖
第三范式:在第二范式的基础上,非主键列只依赖主键,不能传递依赖
0.4存储引擎
不同的存储引擎提供不同的存储方式,每一个存储引擎都有自己的优缺点。
innoDB:
.frm:存储表结构
优点:数据的安全得到了保障
MyISAM:
.frm:存储表结构
.MYI:存储索引
.MYD:存储数据
优点:可被压缩,节省空间;可以转为只读表,提高检索效率
innoDB和MyISAM的区别?
innoDB支持主外键、事务,MyISAM不支持主外键、事务
innoDB支持行锁,MyISAM支持表锁
innoDB缓存索引和真实数据,MyISAM只缓存索引
innoDB表空间小,MyISAM表空间大
innoDB关注点是事务,MyISAM关注点是性能