(1)什么是数据库: 硬盘—管理软件 数据库(DataBase、DB)是一个长期存储在计算机内、有组织的、有共享的、统一管理的数据集合。他简而言之就是一个存储数据的仓库。为了方便数据的存储和管理,他将数据按照特定的规律存储在硬盘上,通过数据库管理系统,可以有效的组织和管理存储再数据库中的数据。 我们也可以说数据库是由一批数据库的有序集合,这些数据被存放在结构化的数据表里。数据表之间相互关联、反映了客观事物间的本质联系。数据库系统提供对数据的安全控制和完整性控制。 2.数据库系统: 数据库系统由3部分组成: (1)数据库:用于存储数据的地方 (2)数据库管理系统:用于管理数据的软件 (3)数据库应用程序:为了提高数据库系统的处理能力所使用的管理数据的软件补充;
数据库:提供一个存储空间以存储各种数据,可以将数据库视为一个存储数据的容器。一个数据库可能包含多个表或者文件,一个数据库系统中通常包含多个数据库。
数据库管理系统(DBMS):是用户创建、管理和维护数据库是所使用的软件,位于用户的操作系统之间,对数据库进行统一管理,DBMS能定义数据存储结构,提供数据的操作机制,维护数据的安全性、完整性和可靠性。
数据库应用程序:虽然已经有了DBMS,但是在很多情况下,DBMS无法满足对数据管理的需求,数据库应用程序的使用可以满足对数据管理更高的要求,还可以是数据库管理过程更加直观,数据库应用程序负责与DBMS进行通信,访问和管理DBMS中存储的数据,允许用户插入、修改、删除DB中的数据。
3.什么是mysql: mysql是一个开放源代码的数据库管理系统,它是由Mysql AB公司开发、发布并支持的。 mysql是一个跨平台的开源关系型数据库管理系统,广泛的用在internet上的中小型网站公司的开发和架构中。 mysql是一个小型关系数据库管理系统,与其他的大型数据库管理系统如:Oracle、DB2、SQLServer等相比,mysql规模小、功能有限。但是体积小,速度更快,成本更低,且他提供的功能对稍微复杂的应用来说已经够了,这些特性mysql成为了世界上最受欢迎的开源数据库管理系统。
3.1mysql版本: 针对不同用户,mysql分为2个不同版本: Mysql Community Server(社区版):该版本完全免费,但是官方不提供技术支持; Mysql Enterprise Server(企业版): 它能够以很高的的性价比为企业提供数据应用,支持ACID事务处理,提供完整的提交、回滚、崩溃恢复和行级别锁定功能,但是该版本需要付费使用,官方提供远程技术支持。 Mysql的命名机制由3个数字和1个后缀组成,例如:mysql-5.5.13. (1)第一个数字5是主版本号,描述了文件格式,所有版本5的发行版都有相同的文件格式 (2)第二个数字5是发行级别,主版本号和发行级别组合在一起便构成了发行序列号; (3)第三个数字13是在发行系列的版本号,随着每次新发布的版本递增,通常选择已经发行的最新版本。
3.2Mysql的优势: (1)速度:运行速度快 (2)价格:开源软件基本免费 (3)容易使用:与其他大型数据库相比,复杂程度低,易于学习; (4)可移植性强:可以工作在众多不同的系统平台上,如windows,linux,unix等; (5)丰富的接口:提供用于c、c 、eiffel、java、python、php、perl、ruby等语言的API; (6)支持查询语言:mysql可以利用标准的sql语法和支持ODBC(开放式数据库连接)的应用程序; (7)安全性和连续性:十分灵活和安全的权限和密码系统,允许基于主机的验证,连接到服务器时,所有的密码传输均采用加密形式,从而保证了密码安全,并且由于mysql是网络化的,因此可以在因特网的任何地方访问,提高数据的共享效率。
3.3mysql的C/S架构: C/S架构是指client–server这种架构,server端(服务器)是整个应用系统资源的存储于管理中心,多个客户端测各自处理相应的功能,共同实现完整的应用。在C/S这种结构中,客户端用户的请求被传送到数据库服务器,数据库服务器进行处理后,将结果返回给用户,从而减少了网络数据传输量。 用户使用实用程序时,首先启动客户端通过有关命令告知服务器进行连接以完成各种操作,而服务器则按照请求提供相应的服务,每一个客户端软件的实例都可以向一个服务器或应用程序发出请求,这种系统的特点就是客户端和服务器程序不在同一台计算机上运行,这些客户端和服务器归属不同的计算机。
3.4mysql的表: 在关系型数据库中,数据库的表是一系列二维数组的混合,用来存储数据和操作数据的逻辑结构,它是有纵向的列和横向的行组成,是组织数据的单位,列被称为字段,每一列表示记录的一个属性,都有响应的描述信息,如数据类型、数据宽度等。
3.5数据类型: 数据类型决定了数据在计算机中的存储格式,代表不同的信息类型,常用的数据类型有:整数数据类型,浮点数数据类型,字符串类型数据,二进制数据类型,日期/时间数据类型等。表中的每一个字段就是某种指定数据类型,例如刚刚图中的”编号“字段为整数数据。”名字“字段为字符串类型数据。
3.6 SQL语言 对数据库进行查询和修改操作的语言叫做SQL。SQL的含义是结构化查询语句(structured query language),SQL有许多不同类型,有3个主要标准,ANSI(美国国家标准机构)SQL,ANSI是SQL修改后再1992年采纳的标准,称为SQL-92或者SQL2.最近的SQL-92标准,从SQL2扩充而来并添加了对象关系特征和许多其他新的功能,其次,各大数据库厂商提供了不同版本的SQL。这些版本的SQL不但能包括原始ANSI标准,而且很大程度上支持新推出的SQL-99标准。
SQL语言包含一下4个部分: (1)数据定义语言(data definition language)DDL:DROP、CREATE、ALTER等语句; (2)数据操作语言(data manipulation language)DML:insert,update,delet语句; (3)数据查询语言(data query language)DQL:select语句; (4)布局控制语言(data control language)DCL:grant、revoke、commit、rollack等语句。
MySQL服务器端实用工具程序如下: (1)mysqld:SQL后台程序。该程序必须运行之后,客户端才能通过连接服务器来访问数据库。 (2)mysqld_safe:服务器启动脚本。在Unix和Net Ware中使用mysqld_safe来启动mysqld服务器。 (3)mysql.server:服务器启动脚本。该脚本用于使用包含为特定级别的、运行启动服务的脚本、运行目录的系统。它调用mysqld_safe来启动MySQL服务器。 (4)mysqld_multi:服务器启动脚本,可以启动或停止系统上安装的多个服务器。 (5)myisamchk:用来描述、检查、优化和维护MyISAM表的实用工具。 (6)mysqlbug:MySQL缺陷报告脚本。它可以用来向MySQL邮件系统发送缺陷报告。 (7)mysql_install_db:该脚本用默认权限创建MySQL授权表。通常只是在系统上首次安装MySQL时执行一次。
MySQL客户端实用工具程序如下: (1)myisampack:压缩MyISAM表以产生更小的只读表的一个工具。 (2)mysql:交互式输入SQL语句或从文件以批处理模式执行它们的命令行工具。 (3)mysqlaccess:检查访问主机名、用户名和数据库组合的权限的脚本。 (4)mysqladmin:执行管理操作的客户程序,例如创建或删除数据库,重载授权表,将表刷新到硬盘上,以及重新打开日志文件。mysqladmin还可以用来检索版本、进程,以及服务器的状态信息。 (5)mysqlbinlog:从二进制日志读取语句的工具。在二进制日志文件中包含执行过的语句,可用来帮助系统从崩溃中恢复。 (6)mysqlcheck:检查、修复、分析以及优化表的表维护客户程序。 (7)mysqldump:将MySQL数据库转储到一个文件(例如SQL语句或tab分隔符文本文件)的客户程序 (8)mysqlhotcopy:当服务器在运行时,快速备份MyISAM或ISAM表的工具。 (9)mysql import:使用LOAD DATA INFILE将文本文件导入相关表的客户程序。 (10)mysqlshow:显示数据库、表、列以及索引相关信息的客户程序。 (11)perror:显示系统或MySQL错误代码含义的工具。