1.1什么是数据库
数据:描述事物的符号记录,可以是数字、文字、图像、声音、语言等。数据有多种形式,它们都可以经过数字化存入计算机
数据库:存储数据的仓库,是长期存放在计算机内、有组织、可共享的大量数据的集合。数据库中的数据按照一定数据模型组织、描述和存储,具有较小的冗余度,较高的独立性和易扩展性,并为各种用户共享,总结为以下几点:
- 数据结构化
- 数据的共享性高,冗余度低,易扩充
- 数据独立性高
- 数据右DBMS统一管理和控制的(安全性、完整性、并发控制、故障恢复)
1.2数据库管理系统(DBMS)
数据库系统的成熟的标志就是数据库管理系统的出现。数据库管路系统(DataBase ManagementSystem,简称DBMS)是管理数据库的一个软件,它充当所有数据的库的知识库,并对它的储存、安全、一致性、并发操作、恢复和访问负责。是对数据库的一种完整性和统一的管理和控制机制。数据库管理系统不仅让我们能够实现对数据的快速检索和维护,还为数据的安全性、完整性、并发控制和数据的恢复提供了保证。数据库管理系统的核心是一个用来存储大量数据的数据库
DBMS是所有数据的知识库,并对数据的存储、安全、一致性、并发操作、恢复和访问负责。
DBMS有一个数据字典(有时候被称为系统表),用于贮存它拥有的每一个事物相关信息,例如名字、结构、位置和类型,这种关于数据的数据也被称为元数据。
1.3常见的数据库管理系统
接下来对上面列举的数据库管理系统进行简单的介绍:
- Oracle:收费的大型数据库,Orale公司的产品
- MYSQL:开源免费的中小型数据库,后来Sun公司收购了Mysql,而Sung公司又被Orcle收购
- SQL Server:MicroSoft公司收费的中型数据库。
- PostgreSQL:开源免费中小型的数据库
- DB2:IBM公司的大型收费数据库产品
- SQLite:嵌入式的微型数据库。如:作为Android内置数据库
- Maria DB:开源免费中小型的数据库
1.3MySQL数据模型
关系型数据库:
关系型数据库时间里在关系模型基础上的数据库,简单说,关系型数据库是由多张能相互连接的 二维表 组成的数据库
如下图,都是有行有列二维表我们将这样的称为关系型数据库
关系型数据库的优点:
- 都是使用表结构,格式一致,易于维护。
- 使用通用的SQL语言操作,使用方便,可用于复杂查询
- 关系型数据库都可以通过SQL进行操作,所以使用方便
- 复杂查询。现在需要查询001号订单数据,我们可以看到该订单是1号客户的订单,而1号订单是李聪这个客户。以后也可以在一张表中进行统计分析等操作。
- 数据储存在磁盘中,安全
数据模型:
如上图,我们通过客户端可以通过数据库管理系统创建数据库,在数据库中创建表,在表中添加数据。创建的每一个数据库对应到磁盘上都是一个文件夹。
1.4SQL简介
- 英文:Structured Query Language,简称SQL
- 结构化查询语言,一门操作关系型数据库的编程语言
- 定义操作所有关系型数据库的统一标准
- 对于同一个需求,每一种数据库操作的方式可能会存在不一样的地方
1.5语法通用:
- SQL语句可以单行或多行书写,以分号结尾,以分号结尾才是一个完整的sql语句
- MySQL数据库的SQL语句不区分大小写,关键字减一使用大写。
- 注释:
- 单行注释:--注释内容或 #注释内容(MySQL特有)
- 多行注释:/*注释*/
注意:使用--添加单行注释时,--后面一定要加空格,而#没有要求。
1.6SQL分类
- DDL(Data Definition Language):数据定义语言,用来定义数据库对象:数据库,表,列等DDL简单理解就是用来操作数据库,表等。create drop alter
- DML(Data Manipulation Language)数据操作语言,用来对数据库中表的数据进行增删改
DML简单理解就是对表中数据进行增删改 (CRUD)
- DQL(Data Query Language)数据查询语言,用来查询数据库中表的记录(数据)
DQL简单来讲就是对数据进行查询操作。从数据库表中查询到我们想要的数据。 - DCL(Data Control Language)数据控制语言,用来定义数据库的访问权限和安全级别,及创建用户DML简单理解就是对数据库进行权限控制。比如我让某一个数据库表只能让某一个用户进行操作等。
注意:以后我们最常操作的是DML和DQL,因为我们开发中最常操作的就是数据。