DataBase 数据库
数据库就是一个存储数据的仓库,本质就是一个文件系统(文件集合),数据库按照特定的格式把数据存储起来,用户可以对存储的数据进行增、删、改、查等操作。
数据库分为两类:
- 关系型数据库(RDBMS):经过集合代数等数学理论验证,可以保存现实生活中的各种关系数据,数据库中存储数据以表为单位。
- 非关系型数据库:通常用来解决某些特定的需求,例如数据库缓存、高并发访问等。存储数据的形式有多种,如 Redis 数据库,就通过键值对的形式存储数据。
RelationalDataBaseManageSystem 关系数据库管理系统
关系数据库管理系统(软件)是用来管理数据库文件的软件,用户需要访问RDBMS对数据库进行增、删、改、查等操作。常见的RDBMS有:MySQL、Oracle、DB2、SQLite、SQLServer。
RDBMS 即关系数据库管理系统(Relational Database Management System)的特点:
- 1、数据以表格的形式出现。
- 2、 每行为各种记录名称。
- 3、每列为记录名称所对应的数据域。
- 4、许多的行和列组成一张表单。
- 5、 若干的表单组成database。
RDBMS 术语:
- 数据库: 数据库是一些关联表的集合。
- 数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
- 列: 一列(数据元素) 包含了相同类型的数据。
- 行:一行(元组,或记录)是一组相关的数据。
- 冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。
- 主键:主键是唯一的,一个数据表中只能包含一个主键。可以使用主键来查询数据。
- 外键:外键用于关联两个表。
- 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
- 索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
- 参照完整性:参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。
SQL 结构化查询语言
结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统,可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。
SQL 分类:
- DDL:Data Definition Languages,数据定义语句,这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象。不支持事务。主要的语句关键字包括 CREATE、ALTER、DROP、TRUNCATE。
- DML:Data Manipulation Language,数据操作语句,用于添加、删除、更新和查询数据库记录,并检查数据完整性。支持事务。主要的语句关键字包括 INSERT、DELETE、UPDATE、SELECT 等。
- DQL:Data Query Language,数据查询语句,用于从表中获得数据,确定数据怎样在应用程序给出。主要的语句关键字包括 SELECT,常用的保留关键字有WHERE、ORDER BY、GROUP BY、HAVING。这些DQL保留关键字常与其它类型的SQL语句一起使用。
- TCL:Transaction Control Language,事务控制语句,能确保被DML语句影响的表的所有行及时得以更新。主要的语句关键字包括 COMMIT(提交)、SAVEPOINT(保存点)、ROLLBACK(回滚)。
- DCL:Data Control Language,数据控制语句,用于确定单个用户和用户组对数据库对象的访问权限。主要的语句关键字包括GRANT(授权)、REVOKE(回收权限)。
MySQL数据库
MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL 的特点:
- MySQL 是开源的,目前隶属于 Oracle 旗下产品。
- MySQL 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
- MySQL 使用标准的 SQL 数据语言形式。
- MySQL 可以运行于多个系统上,并且支持多种语言。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。
- MySQL 对 PHP 有很好的支持,PHP 是很适合用于 Web 程序开发。
- MySQL 支持大型数据库,支持 5000 万条记录的数据仓库,32 位系统表文件最大可支持 4GB,64 位系统支持最大的表文件为8TB。
- MySQL 是可以定制的,采用了 GPL 协议,你可以修改源码来开发自己的 MySQL 系统。
MySQL的表:MySQL 为关系型数据库(Relational Database Management System),这种所谓的"关系型"可以理解为"表格"的概念, 一个关系型数据库由一个或数个表格组成,如图所示的一个表格:
截屏2023-05-16 20.08.59.png- 表头(header): 每一列的名称;
- 列(col): 具有相同数据类型的数据的集合;
- 行(row): 每一行用来描述某条记录的具体信息;
- 值(value): 行的具体信息, 每个值必须与该列的数据类型相同;
- 键(key): 键的值在当前列中具有唯一性。
网友评论