一、为什么要学习数据库
可能副作用于业务和疾速剖析定位问题
在软件开发中会遇到很多问题,追本溯源它就是一个数据库里数据的问题,就比如说咱们要去验证注册起源对不对,如果咱们不去查库的话,我不晓得有这个字段的存在,尽管它需要外面说了这么一段话,但理论我从页面下来做功能测试的时候,我并不能看到这个注册起源到底存得对不对,所以咱们要去看数据库。
二、常见数据库
1、关系型数据库
关系型数据库:关系型数据库的官网解释比拟难了解,其实简略点来讲,关系型数据库就是以行和列的模式贮存数据的组织构造,这里体现为二维构造的表,而且多个表之间可能会存在一些关系。
1)Oracle
Oracle是美国oracle公司(甲骨文)提供的以分布式数据库为外围的一组软件产品,oracle数据库的特点是平安、高速、稳固、并发性好,这些特点都使得很多大企业都抉择数据库的时候毫不犹豫的抉择了oracle。
早些年的时候,世界500强简直100%都是oracle的用户。然而oracle是免费的,而且不便宜,这也使得很多初创公司或者中小型企业是齐全没有能力去累赘这笔开销,而放弃应用oracle,转而抉择简便易用,更轻量级且收费开源的MySQL。
2)MySQL
MySQL是一种开发源代码的关系型数据库管理系统,并且因为其速度,可靠性和适用性备受中小型企业的青眼。尽管晚期版本不反对事物操作、子查问、外键、存储过程和视图等性能。
然而从02年公布的4.0beta版以来,MySQL外应用innoDB作为默认引擎,对事物解决能力及数据缓存能力又来极大的进步,05年的5.0版本有增加了存储过程、服务端游标、触发器、查问优化以及分布式事物性能。
3)MariaDB
MariaDB数据库是MySQL的一个分支,由开源社区在保护,开发MariaDB有一部分起因是因为放心甲骨文收买MySQL后,会有将MySQL闭源的用意,因而社区采纳分支的形式来避开这个危险。
MariaDB齐全兼容MySQL,包含API和命令行,是MySQL的完满替代品,贮存引擎方面,MariaDB应用的是xtraDB代替了MySQL的InnoDB。
4)Sqlserver
Sqlserver是由Microsoft开发和推广的数据库,它最后是由Microsoft、Sybase和Ashton-tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。
Ms SQL server次要面向中小型企业。其最大的劣势是在于集成了Ms公司的各类产品及资源,提供了弱小的可视化界面、高度集成的治理开发工具,在疾速构建商业智能(BI)方面颇有的建树。
2、非关系型数据库
非关系型数据库:非关系型数据库的数据结构跟关系型的齐全不同,它次要是以键值对的模式去存储数据。
1)Memcached
Memcached是以livejournal旗下Danga Interactive 公司的Brad Fitzpatric为首开发的一款软件,它的呈现很好的解决一系列数据库瓶颈问题,因为在web利用中频繁,集中的拜访数据库,就会带来高并发带来的一系列问题。
比方导致数据库累赘减轻、响应好转、网站显示提早等重大影响这些问题,而有了memcached提供的数据缓存机制,这些问题就都不是问题了。
2)Redis
Redis是一个key-value存储系统。和memcached相似,它反对存储的value类型绝对更多,包含string(字符串)、list(链表)、set(汇合)、和hash(哈希类型)等。Redis是一个高性能的key-value数据库。
Redis的呈现,很大水平弥补了memcached这类key/value贮存的有余,在局部场合能够对关系数据库起到很好的补充作用。
3)MongoDB
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中性能最丰盛,最像关系数据库的。他反对的数据结构十分涣散,是相似json的bson格局,因而课程贮存比较复杂的数据库类型。
Mongo最大的特点是他反对的查询语言十分弱小,其语法有点相似于面向对象的查询语言,简直都能够实现相似关系数据库表单查问的绝大部分性能,而且还反对对数据库建设索引。
三、如何学习数据库
1)创立/删除库、创立/删除表、查看库、查看表
2) 备份、还原数据
3)存储过程 、视图
4)导入、导出数据
5)数据库根底配置 :批改明码、增加用户等
6)数据库链接工具:如 WorkBench Navicat phpMyAdmin 等
7)根本的增删改查 语句
8) 略微简单点的SQL :多表查问、子查问 等等
9) 至多得晓得常见的数据库:Mysql MSSQL Oracle Memcached Redis Mongodb
10) 数据库的装置、部署:你至多得会本人在服务器或本人电脑上装置个数据库
接口测试和接口文档生成工具:apipost