数据库出现的原因:

因为应用程序需要保存用户的数据,比如 Word 需把用户文档保存起来,以便下次继续编辑或拷贝到另一台电脑。要保存用户的数据,最简单的方法是把用户数据写入文件。例如,要保存一个班级所有学生的信息,可以向文件中写入一个 CSV 文件。但是,随着应用程序的功能越来越复杂,数据量越来越大,对数据的保存和管理会出现下面的问题:

  1. 读写文件并解析出数据需要大量重复代码。
  2. 从成千上万的数据中快速查询出指定数据需要复杂的逻辑。
  3. 如果每个应用程序都各自写自己的读写数据的代码,一方面效率低,容易出错。
  4. 每个应用程序访问数据的接口都不相同,数据难以复用。

数据库存储应用数据的好处

应用程序不需要自己管理数据,而是通过数据库软件提供的接口来读写数据。同时,应用程序不用关心数据本身如何存储到文件的。

数据模型

  • 层次模型:层次模型就是以“上下级”的层次关系来组织数据的一种方式,层次模型的数据结构看起来就像一颗树
  • 网状模型:网状模型把每个数据节点和其他很多节点都连接起来,它的数据结构看起来就像很多城市之间的路网
  • 关系模型:关系模型把数据看作是一个二维表格,任何数据都可以通过行号+列号来唯一确定,它的数据模型看起来就是一个 Excel 表(关系模型占多数,因为相比层次模型和网状模型,关系模型理解和使用起来最简单)

主流关系数据库

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

  • 商用数据库,例如:Oracle,SQL Server,DB2 等;
  • 开源数据库,例如:MySQL,PostgreSQL 等;
  • 桌面数据库,以微软 Access 为代表,适合桌面应用程序使用;
  • 嵌入式数据库,以 Sqlite 为代表,适合手机应用和桌面程序。

SQL 概述

SQL 是结构化查询语言的缩写,用来访问和操作数据库系统。SQL 语句既可以查询数据库中的数据,也可以添加、更新和删除数据库中的数据,还可以对数据库进行管理和维护操作。简单说,SQL 是访问处理关系数据库的计算机标准语言。

SQL 定义了以下几种操作数据库的能力:

  • DDL(Data Definition Language): DDL 允许用户定义数据,也就是创建表、删除表、修改表结构这些操作。通常,DDL 由数据库管理员执行。
  • DML(Data Manipulation Language): DML 为用户提供添加、删除、更新数据的能力。这些是应用程序对数据库的日常操作。
  • DQL(Data Query Language): DQL 允许用户查询数据.这也是通常最频繁的数据库日常操作。

NOSQL

NoSQL 数据库就是非 SQL 的数据库,例如 MongoDB。但在应用中,SQL 数据库仍然承担了各种应用程序的核心数据存储,而 NoSQL 数据库作为 SQL 数据库的补充,两者不是二选一的问题,而是主从关系。

SQL 语法特点

  • SQL 语言关键字不区分大小写

安装 MySQL

  • Windows 或 Mac 上安装 MySQL,首先从 MySQL 官方网站下载最新的 MySQL Community Server 版本:下载地址,选择对应的操作系统版本,下载安装即可。在安装过程中,MySQL 会自动创建一个 root 用户,并提示输入 root 密码。
  • 要在 Linux 上安装 MySQL,可以使用发行版的包管理器。例如,Debian 和 Ubuntu 用户可以简单地通过命令apt-get install mysql-server安装最新的 MySQL 版本。

运行 MySQL

MySQL 安装后会自动在后台运行。为了验证 MySQL 安装是否正确,我们需要通过 mysql 这个命令行程序来连接 MySQL 服务器。在命令提示符下输入mysql -u root -p,然后输入密码,如果一切正确,就会连接到 MySQL 服务器,同时提示符变为mysql>。输入exit退出 MySQL 命令行(注意,输入exit退出 MySQL 后,MySQL 服务器仍在后台运行)