MySQL(一) 初识MySQL

数据库基础

数据库是由一批数据构成的有序的集合,这些数据被存放在结构化的数据表里。数据表之间相互联系,反映了客观事物间的本质联系。数据库系统提供对数据的安全控制和完整性控制。

什么是数据库

数据库的发展大致划分为如下几个阶段:人工管理阶段、文件系统阶段、数据库系统阶段、高级数据库阶段。其种类大概有三种:层次式数据库、网络式数据库和关系式数据库。不同类的数据库按不同的数据结构来联系和组织。

对于数据库的概念,没有一个完全固定的定义,随着数据库历史的发展,定义的内容也有很大的差异,其中一种比较普遍的观点认为,数据库(DataBase,DB)是一个长期存储在计算机内的、有组织的、共享的、统一管理的数据集合。它是一个按数据结构来存储和管理数据的计算机软件系统,即数据库包含两层含义:保存数据的“仓库”,以及数据管理的方法和技术。

数据库的特点包括,实现数据共享,减少数据冗余;采用特定的数据类型;具有较高的数据独立性;具有统一的数据控制能力。

在关系数据库中,数据库表是一系列二维数组的集合,用来存储数据和操作数据的逻辑结构。它由纵向的列和横向的行组成,行称为记录,是组织数据的单位;列被称为字段,每一列代表记录的一个属性,每个属性都有相应的描述信息,如数据结构、数据宽度等。

数据类型

数据类型决定了数据在计算机中的存储格式,代表不同的信息类型。常用的数据类型有整数数据类型、浮点数数据类型、精确小数类型、二进制数据类型、日期/时间数据类型、字符串数据类型。表中的每一个字段就是某种指定数据类型。

主键

主键(Primary Key)又称主码,用于唯一标识表中的某一个记录。可以定义表中的一列或多列为主键,主键列上不能有相同的值,也不能为空值。

数据库技术构成

数据库系统由硬件部分和软件部分共同构成,硬件主要用于存储数据库中的数据,包括计算机、存储设备。软件部分则包括 DBMS 运行的操作系统,以及支持多种语言进行开发应用的访问技术。

数据库系统

数据库系统有三个重要的组成部分。

  • 数据库:用于存储数据的地方。
  • 数据库管理系统:用于管理数据库的软件。
  • 数据库应用程序:为了提高数据库系统的处理能力所使用的管理数据库的软件补充。

数据库(DataBase)提供了一个存储空间用以存储各种数据,可以将数据库视为一个存储数据的容器。一个数据库可能包含许多文件,一个数据库系统中通常包含许多数据库。

数据库管理系统(DataBase Management System, DBMS)是用户创建、管理、和维护数据时所需要的软件,位于用户与操作系统之间,对数据库进行统一管理。DBMS 能定义数据存储结构,提供数据的操作机制,维护数据库的安全性、完整性和可靠性。

虽然已经有了 DBMS,但是在很多情况下,DBMS 无法满足对数据管理的要求。数据库应用程序(DataBase Application)的使用可以满足对数据管理的更高要求,还可以使数据管理过程更加直观和友好。数据库应用程序负责与 DBMS 进行通信,访问和管理 DBMS 中存储的数据,允许用户插入、修改、删除 DB 中的数据。

数据库系统如图所示:

MySQL(一) 初识MySQL

SQL语言

对数据库进行查询和修改的语言叫做 SQL。SQL 的含义是结构化查询语言(Structured Query Language)。

SQL包含以下四个部分。

  • 数据定义语言(DDL):DROP、CREATE、ALTRE 等语句。
  • 数据操作语言(DML):INSERT、UPDATE、DELETE 语句。
  • 数据查询语言(DQL):SELECT 语句。
  • 数据控制语言(DCL):GRANT、REVOKE、COMMIT、ROLLBACK 等语句。

数据库访问接口

不同的程序设计语言会有各自不同的数据库访问接口,程序语言通过这些接口,执行 SQL 语句,进行数据库管理。主要的数据库访问接口有:

  1. ODBC

    Open DataBase Connectivity(ODBC,开放数据库互连)技术为访问不同的 SQL 数据库提供了一个共同的接口。ODBC 使用 SQL 作为访问数据的标准。这一接口提供了最大限度的互操作性。一个应用程序可以通过共同的一组代码访问不同的 SQL 数据库管理系统(DBMS)。

  2. JDBC

    Java DataBase Connectivity(JDBC,Java数据库连接)用于 Java 应用程序连接数据库的标准方法,是一种用于执行 SQL 语句的 Java API,可以为多种关系型数据库提供统一访问,它由一组用 Java 语言编写的类和接口组成。

  3. ADO.NET

    ADO.NET 是微软在.NET框架下开发设计的一组用于和数据源进行交互的面向对象类库。ADO.NET 提供了对关系数据、XML 和应用程序数据的访问,允许和不同类型的数据源已经数据库进行交互。

  4. PDO

    PDO(PHP Data Object)为 PHP 访问数据库定义了一个轻量级的、一致性的接口,它提供了一个数据访问抽象层,这样无论使用什么数据库,都可以通过一致的函数执行查询和获取数据。

什么是 MySQL

Mysql 是一个小型关系数据库管理系统,与其他大型数据库管理系统(例如 Oracle、DB2、SQL Server 等)相比。MySQL 规模小、功能有限,但是它体积小、速度快、成本低,且它提供的功能对稍微复杂的应用来说已经够用,这些特性使得 MySQL 成为世界上最受欢迎的开源数据库。

MySQL 版本

针对不同的用户,MySQL 分为两个不同的版本:

  • MySQL Community Server(社区版):该版本免费,但是官方不提供技术支持。
  • MySQL Enterprise Server(企业版服务器):它能够以很高性价比为企业提供数据仓库应用,支持 ACID 事物处理,提供完整的提交、回滚、崩溃恢复和行级锁定功能。但是该版本需付费使用,官方提供电话技术支持。

MySQL 的命名机制由 3 个数字和 1 个后缀组成,例如:MySQL-5.7.10。

(1)第一个数字 5 是主版本号,描述了文件格式,所有版本 5 的发行版都有相同的文件格式。

(2)第二个数字 7 是发行版本,主版本号和发行级别组合在一起便构成了发行序列号。

(3) 第三个数字 10 是在此发行系列的版本号,随每次新分发版本递增。通常选择已经发行的最新版本。

MySQL 的优势

MySQl 的主要优势如下:

(1)速度:运行速度快。

(2)价格:MySQL 对多数个人来说是免费的。

(3) 容易使用:与其他大型数据库的设置和管理相比,其复杂程度较低,易于学习。

(4)可移植性:能够在众多不同的系统平台上,例如:Windows、Linux、Unix、Mac os 等。

(5)丰富的接口:提供了用于 C、C++、Java、Python、PHP 等语言的API。

(6)支持查询语言:MySQL 可以利用标准SQL语法和支持 ODBC(开放式数据库连接)的应用程序。

(7)安全性和连接性:十分灵活和安全的权限和密码系统,允许基于主机的验证。连接到服务器时,所有的密码传输均采用加密形式,从而保证了密码安全,并且由于 MySQL 是网络化的,因此可以在因特网上的任何地方访问,提高数据共享的效率。

上一篇:Cache-Aside Pattern(缓存模式)


下一篇:Ubuntu安装samba的问题