likes
comments
collection
share

MySQL

作者站长头像
站长
· 阅读数 18

DataBase 数据库

数据库就是一个存储数据的仓库,本质就是一个文件系统(文件集合),数据库按照特定的格式把数据存储起来,用户可以对存储的数据进行增、删、改、查等操作。

数据库分为两类:

    1. 关系型数据库(RDBMS):经过集合代数等数学理论验证,可以保存现实生活中的各种关系数据,数据库中存储数据以表为单位。
    1. 非关系型数据库:通常用来解决某些特定的需求,例如数据库缓存、高并发访问等。存储数据的形式有多种,如 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),这种所谓的"关系型"可以理解为"表格"的概念, 一个关系型数据库由一个或数个表格组成,如图所示的一个表格:

MySQL

  • 表头(header): 每一列的名称;
  • 列(col): 具有相同数据类型的数据的集合;
  • 行(row): 每一行用来描述某条记录的具体信息;
  • 值(value): 行的具体信息, 每个值必须与该列的数据类型相同;
  • 键(key): 键的值在当前列中具有唯一性。
转载自:https://juejin.cn/post/7244436362978410552
评论
请登录