
存储数据用文件就可以了,为什么还要弄个数据库?
为了解决上述问题,专家们设计出更加利于管理数据的东西——数据库,按照数据结构来组织、存储和管理数据的仓库(磁盘和内存)它能更有效的管理数据。用来管理数据库的计算机系统称为数据库管理系统(Database Management System,DBMS)。
为什么要使用专用系统(DBMS)来管理数据呢?
DBMS 主要通过数据的保存格式(数据库的种类)来进行分类,现阶段主要有以下5 种类型。
层次数据库(Hierarchical Database,HDB)。最古老的数据库之一,它把数据通过层次结构(树形结构)的方式表现出来。层次数据库曾经是数据库的主流,但随着关系数据库的出现和普及,现在已经很少使用了。
关系数据库(Relational Database,RDB),关系数据库是现在应用最广泛的数据库。关系数据库在1969 年诞生,可谓历史悠久。和Excel 工作表一样,它也采用由行和列组成的二维表来管理数据,所以简单易懂。同时,它还使用专门的SQL(Structured Query Language,结构化查询语言)对数据进行操作。这种表格的DBMS 称为关系数据库管理系统(Relational Database Management System,RDBMS)。
比较具有代表性的RDBMS 有如下5 种。
面向对象数据库(Object Oriented Database,OODB)。编程语言当中有一种被称为面向对象语言的语言。把数据以及对数据的操作集合起来以对象为单位进行管理,因此得名。面向对象数据库就是用来保存这些对象的数据库。
XML数据库(XML Database,XMLDB)。最近几年,XMLB 作为在网络上进行交互的数据的形式逐渐普及起来。XML 数据库可以对XML 形式的大量数据进行高速处理。
键值存储系统(Key-Value Store,KVS)。这是一种单纯用来保存查询所使用的主键(Key)和值(Value)的组合的数据库。具有编程语言知识的读者可以把它想象成关联数组或者散列(hash)。近年来,随着键值存储系统被应用到Google 等需要对大量数据进行超高速查询的Web 服务当中,它正逐渐为人们所关注。
介绍使用SQL 语言的关系数据库管理系统(RDBMS)的操作方法。如无特殊说明,下面所提到的数据库以及DBMS 都是指RDBMS。


另外,RDBMS 除了需要同时接收多个客户端的请求之外,还需要操作存有大量数据的数据库,因此通常都会安装在比客户端性能更优越的计算机上。操作数据量特别巨大的数据库时,还可以将多台计算机组合使用。
虽然RDBMS 的系统结构多种多样,但是从客户端发来的SQL 语句基本上都是一样的。
国际标准化组织(ISO)为SQL 制定了相应的标准,以此为基准的SQL 称为标准SQL。以前,完全基于标准SQL 的RDBMS 很少,通常需要根据不同的RDBMS来编写特定的SQL 语句。这样一来,就会造成能够在Oracle 中使用的SQL 语句却无法在SQL Server 中使用,反之亦然。近来,对标准SQL 的支持取得了一些进展,因此希望准备学习SQL 的人们能够从现在开始就牢记标准SQL 的书写方式。学会标准SQL 就可以在各种RDBMS 中书写SQL 语句了。

SQL 用关键字、表名、列名等组合而成的一条语句(SQL 语句)来描述操作的内容。关键字是指那些含义或使用方法已事先定义好的英语单词,存在包含“对表进行查询”或者“参考这个表”等各种意义的关键字。
根据对RDBMS 赋予的指令种类的不同,SQL 语句可以分为以下三类。其中使用最多的是DML。
CREATE: 创建数据库和表等对象DROP: 删除数据库和表等对象ALTER: 修改数据库和表等对象的结构SELECT:查询表中的数据INSERT:向表中插入新数据UPDATE:更新表中的数据DELETE:删除表中的数据存储引擎是:数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。MySQL的核心就是插件式存储引擎,支持多种存储引擎。查看存储引擎:mysql登录后,show engines;