一、数据库基本了解
1.MySQL数据库
(1)MySQL数据库是数据存储与管理的仓库,是一个客户端&服务器模式的数据库。
(2)MySQL数据库的数据存储介质也是磁盘文件。
2.数据库存储与普通文件存储数据的区别
2.1安全性问题
数据存储在文件中,很多用户都可以操作文件,存在较大的安全问题,而数据库是进行统一管理。
2.2海量数据的操作
数据库针对数据建立了非常良好的数据结构,可以帮助用户快速进行海量数据的存储与查询。
2.3数据的控制管理
数据若放在文件中,则只有本机可以访问,但数据库大多都是CS架构,客户端可以通过远程访问。
3.数据库的分类
3.1关系型数据库
关系型数据库,是指采用了关系模型来组织数据的数据库,基本都是基于SQL实现,也就是数据库的所有操作都是通过sql语句完成。
常用的关系型数据库:
(1)Oracle:甲骨文公司产品,适合大型项目,适用于做复杂的业务逻辑。收费产品。
(2)MySQL:属于甲骨文公司,不适合做复杂的业务逻辑。开源免费。
(3)SQL Server:微软产品,安装部署在windows server上,适用于中大型项目。收费产品,部分功能免费。
(4)MariaDB:基于MySQL的开源数据库产品。
3.2非关系型数据库(NoSql数据库)
非关系型数据库,指的是不规定基于SQL实现,现多指NoSql数据库。
常用的非关系型数据库:
(1)基于键值对(Key-Value):如 memcached、redis
(2)基于文档型:如 mongodb
(3)基于列族:如 hbase
(4)基于图型:如 neo4j
3.3关系型数据库与非关系型数据库的区别
关系型数据库 | 非关系型数据库 | |
使用SQL | 是 | 不要求,但一般不基于SQL实现 |
实务支持 | 支持 | 不支持 |
复杂操作 | 支持 | 不支持 |
海量读写操作 | 效率低 | 效率高 |
基本结构 | 基于表和列,结构固定 | 灵活性较高 |
使用场景 | 业务方面的OLTP系统 | 数据的缓存、或基于统计分析的OLAP系统 |
注:OLTP(On-Line Transaction Processing)是指联机事务处理,OLAP(On-Line Analytical
Processing)是指联机分析处理。
二、SQL分类
1.DDL数据定义语言
作用:用于维护存储数据的结构。
代表指令:create、drop、alter
2.DML数据操纵语言
作用:用于对数据进行操作
代表指令:insert、delete、update
2.1DQL数据查询语言
代表指令:select
3.DCL数据控制语言
作用:负责权限管理和事物
代表指令:grant、revoke、commit