MySQL数据库从入门到精通

数据库(Database,DB)是建立在计算机存储设备上,按照数据结构来组织、存储和管理数据的仓库,可将其视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行增加、删除、修改、查找等操作,这里所说的数据不仅包含数字,还包含文字、视频、声音等,数据库的主要特点如下所示。

实现数据共享:数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享。

减少数据的冗余度:同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件。减少了大量重复数据和数据冗余,维护了数据的一致性。

数据的独立性:数据的独立性包括逻辑独立性(数据库中数据库的逻辑结构和应用程序相互独立)和物理独立性(数据物理结构的变化不影响数据的逻辑结构)。

数据实现集中控制:文件管理方式中,数据处于一种分散的状态,不同的用户或同一用户在不同处理中,其文件之间毫无关系。利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。

数据一致性和可维护性:主要包括安全性控制(以防止数据丢失、错误更新和越权使用)、完整性控制(保证数据的正确性、有效性和相容性)和并发控制(使在同一时间周期内,允许对数据实现多路存取,又能防止用户之间的不正常交互作用)。

故障恢复:由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏。数据库系统能尽快恢复运行时出现的故障,可能是物理上或是逻辑上的错误。

数据库系统几个重要部分的关系,这些重要部分的解释具体如下。

数据库(DataBase,DB):指长期保存在计算机的存储设备上,按照一定规则组织起来,可以被各种用户或应用共享的数据集合。

数据库管理系统(DataBaseManagement

System,DBMS):指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中的数据。

数据库应用程序(DataBaseApplication

System,DBAS):用户在对数据库进行复杂管理的时候,DBMS可能无法满足用户需求,这时就需要使用数据库应用程序访问和管理DBMS中存储的数据。

通常情况下,会用数据库来表示所使用的数据库软件,这经常会引起混淆,确切的说,数据库软件应该为数据库管理系统,数据库是通过数据库管理系统创建和操作的。

SQL简介

StructureQueryLanguage(结构化查询语言)是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。

SQL被美国国家标准局(ANSI)确定为关系型数据库语言的美国标准,后来被国际化标准组织(ISO)采纳为关系数据库语言的国际标准,各数据库厂商都支持ISO的SQL标准,并在标准的基础上做了自己的扩展。

从以上介绍可以看出,SQL有以下几项优点。

不是某个特定数据库供应商专有的语言,几乎所有重要的数据库管理系统都支持SQL。

简单易学,该语言的语句都是由描述性很强的英语单词组成,且这些单词的数目不多。

高度非过程化,即用SQL操作数据库,只需指出“做什么”,无须指明“怎么做”,存取路径的选择和操作的执行由数据库自动完成。

SQL包含了所有对数据库的操作,它主要由四个部分组成,具体如下。

数据库定义语言(DDL):主要用于定义数据库、表等,其中包括CREATE语句、

ALTER语句和DROP语句,CREATE语句用于创建数据库、数据表等,ALTER语句用于修改表的定义等,DROP语句用于删除数据库、删除表等。

数据库操作语言(DML):主要用于对数据库进行添加、修改和删除操作,其中包括INSERT语句、UPDATE语句和DELETE语句,INSERT语句用于插入数据,UPDATE语句用于修改数据,DELETE语句用于删除数据。

数据库查询语言(DQL):主要用于查询,也就是SELECT语句,SELECT语句可以查询数据库中的一条或多条数据。

数据控制语言(DCL):主要用于控制用户的访问权限,包括GRANT语句、REVOKE语句、COMMIT语句和ROLLBACK语句,GRANT语句用于给用户添加权限,REVOKE语句用于收回用户的权限,COMMIT语句用于提交事务,ROLLBACK语句用于回滚事务。

通过SQL,可以直接操作数据库,很多应用程序中也经常使用SQL语句,例如Java程序中可以嵌入SQL语句,实现Java程序调用SQL语句操作数据库,此外,PHP、Python等语言也可以嵌套SQL语句。

1.常见的数据库产品

随着数据库技术的不断发展,数据库产品越来越多,从关系型数据库到后来的非关系型数据库,年8月,DB-Engines发布了最新的数据库排行

图中可以看到,Oracle居首位,其他数据库也不同程度地受


转载请注明:http://www.aierlanlan.com/grrz/1331.html