一.关系数据库概述与下载安装

1,为什么需要数据库

因为应用程序需要把用户的数据,比如word把数据保存起来。

例如把一个班级数据,以Excel,word文档记录储存下来。如果保存一个班级的数据写入文件A.csv,把全校数据写入文件B.CSV。

随着应用程序功能越来越强大,数据越来越复杂。传统的数据储存方式以满足不了现状:

  • 读写解析文件数据需要大量重复代码。

  • 快速查询多元化,成千上万的数据逻辑复杂。

如果每个应用程序利用不同语言,不同代码进行读写,一方面会导致效率低,易出错;另一方面因为访问数据的各个接口不同,数据难以复用。

所以出现了专门管理数据的软件。应用软件只管想数据管理软件读写数据,不用在乎数据如何在数据管理软件中如何存储,减少了很多应用负担。

2,数据模型

层次模型:

通过上下级关系来组织数据的一种方式,层次模型看起来像棵树。

网状模型:

应用程序中每个数据节点互相彼此连接组织的数据关系,他们看起来像城市中的路网。

关系模型:

关系模型就是一个二维表格,可以通过行号+列号来唯一确定,看起就像是Excel表格。

最后在市场中,我们用的最多的就是关系模型的关系型数据库。

为什么关系模型最受欢迎?

因为相比层次模型和网状模型,关系模型更容易理解,使用起来也更简单。

以一个班级为例,一个班级的学生信息就可以用表格存起来,并定义如下:

其中班级ID,对应着另外一个班级表:

通过给定一个班级名称,可以查到一条班级记录,根据班级ID又可以查到多条学生记录,这样二维表之间通过ID映射建立了一对多的关系。

3,数据类型

对一个关系表,除了定义一列名称以外。还要对每列名称数据类型进行定义。关系数据库支持的数据类型包括,数值,字符串,时间等:

4,主流关系数据库

目前,主流的关系数据库分为以下几类:

  1. 商用数据库:oracle,sql server,DB2等。

  1. 开源数据库:mysql,postgreSQL等。

  1. 桌面数据库:以微软Access为例,适合桌面应用程序使用。

  1. 嵌入式数据库:以sqlite为代表,适合手机应用和桌面程序。

5,什么是SQL?

什么是SQL?SQL是结构化查询语言的缩写,用来访问和操作数据库系统。SQL语句既可以查询数据库中的数据,也可以添加、更新和删除数据库中的数据,还可以对数据库进行管理和维护操作。不同的数据库,都支持SQL,这样,我们通过学习SQL这一种语言,就可以操作各种不同的数据库。

虽然SQL已经被ANSI组织定义为标准,不幸地是,各个不同的数据库对标准的SQL支持不太一致。并且,大部分数据库都在标准的SQL上做了扩展。也就是说,如果只使用标准SQL,理论上所有数据库都可以支持,但如果使用某个特定数据库的扩展SQL,换一个数据库就不能执行了。例如,Oracle把自己扩展的SQL称为PL/SQL,Microsoft把自己扩展的SQL称为T-SQL

现实情况是,如果我们只使用标准SQL的核心功能,那么所有数据库通常都可以执行。不常用的SQL功能,不同的数据库支持的程度都不一样。而各个数据库支持的各自扩展的功能,通常我们把它们称之为“方言”。

总的来说,SQL语言定义了这么几种操作数据库的能力:

DDL:Data Definition Language

DDL允许用户定义数据,也就是创建表、删除表、修改表结构这些操作。通常,DDL由数据库管理员执行。

DML:Data Manipulation Language

DML为用户提供添加、删除、更新数据的能力,这些是应用程序对数据库的日常操作。

DQL:Data Query Language

DQL允许用户查询数据,这也是通常最频繁的数据库日常操作

6,语法特点

SQL语言关键字不区分大小写!!!但是,针对不同的数据库,对于表名和列名,有的数据库区分大小写,有的数据库不区分大小写。同一个数据库,有的在Linux上区分大小写,有的在Windows上不区分大小写。

所以,本教程约定:SQL关键字总是大写,以示突出,表名和列名均使用小写。

7,Mysql的小历史。

MySQL是目前应用最广泛的开源关系数据库。MySQL最早是由瑞典的MySQL AB公司开发,该公司在2008年被SUN公司收购,紧接着,SUN公司在2009年被Oracle公司收购,所以MySQL最终就变成了Oracle旗下的产品。

和其他关系数据库有所不同的是,MySQL本身实际上只是一个SQL接口,它的内部还包含了多种数据引擎,常用的包括:

  • InnoDB:由Innobase Oy公司开发的一款支持事务的数据库引擎,2006年被Oracle收购;

  • MyISAM:MySQL早期集成的默认数据库引擎,不支持事务。

MySQL接口和数据库引擎的关系就好比某某浏览器和浏览器引擎(IE引擎或Webkit引擎)的关系。对用户而言,切换浏览器引擎不影响浏览器界面,切换MySQL引擎不影响自己写的应用程序使用MySQL的接口。

使用MySQL时,不同的表还可以使用不同的数据库引擎。如果你不知道应该采用哪种引擎,记住总是选择InnoDB就好了。

因为MySQL一开始就是开源的,所以基于MySQL的开源版本,又衍生出了各种版本:

MariaDB

由MySQL的创始人创建的一个开源分支版本,使用XtraDB引擎。

Aurora

由Amazon改进的一个MySQL版本,专门提供给在AWS托管MySQL用户,号称5倍的性能提升。

PolarDB

由Alibaba改进的一个MySQL版本,专门提供给在阿里云托管的MySQL用户,号称6倍的性能提升。

而MySQL官方版本又分了好几个版本:

  • Community Edition:社区开源版本,免费;

  • Standard Edition:标准版;

  • Enterprise Edition:企业版;

  • Cluster Carrier Grade Edition:集群版。

以上版本的功能依次递增,价格也依次递增。不过,功能增加的主要是监控、集群等管理功能,对于基本的SQL功能是完全一样的。

所以使用MySQL就带来了一个巨大的好处:可以在自己的电脑上安装免费的Community Edition版本,进行学习、开发、测试,部署的时候,可以选择付费的高级版本,或者云服务商提供的兼容版本,而不需要对应用程序本身做改动

8,安装MySQL

要在Windows或Mac上安装MySQL,首先从MySQL官方网站下载最新的MySQL Community Server版本:

https://dev.mysql.com/downloads/mysql/

选择对应的操作系统版本,下载安装即可。在安装过程中,MySQL会自动创建一个root用户,并提示输入root口令。

要在Linux上安装MySQL,可以使用发行版的包管理器。例如,Debian和Ubuntu用户可以简单地通过命令apt-get install mysql-server安装最新的MySQL版本。

9,运行MySQL

MySQL安装后会自动在后台运行。为了验证MySQL安装是否正确,我们需要通过mysql这个命令行程序来连接MySQL服务器。

在命令提示符下输入mysql -u root -p,然后输入口令,如果一切正确,就会连接到MySQL服务器,同时提示符变为mysql>

输入exit退出MySQL命令行。注意,MySQL服务器仍在后台运行。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值