L o a d i n g . . .

MySQL学习(1)---MySQL概述

## 什么是数据库

概述

数据库(Database)是长期存储在计算机内有组织、大量、共享的数据集合。它可以供各种用户共享,具有最小冗余度和较高的数据独立性。数据库管理系统DBMS(Database Management System)在数据库建立、使用和维护时对数据库进行统一控制,以保证数据的完整性和安全性,并在多用户同时使用数据库时进行并发控制,在发生故障后对数据库进行恢复。

分类

数据库分为关系型数据库和非关系型数据库。

  • 关系型数据库(RDBMS:Relational Database Management System):这种类型的数据库是最古老的数据库类型,关系型数据库模型是把复杂的数据结构归结为简单的二元关系(即二维表格形式)。它以行(row)和列(column)的形式存储数据,以便于用户理解,存储的格式可以直观地反映实体间的关系。而SQL就是关系型数据库的查询语言。常见的关系型数据库有MySQL、SQL Server、DB2、Oracle)等。
  • 非关系型数据库(非RDBMS/NoSQL:Not Only SQL):指的是分布式的、非关系型的、不保证遵循ACID原则的数据存储系统。它基于键值对存储数据,不需要经过SQL层的解析,性能非常高。NoSQL数据库如MongoDB、Redis、Memcache、HBase出于简化数据库结构、避免冗余、影响性能的表连接、摒弃复杂分布式的目的被设计。

SQL

结构化查询语言(Structured Query Language)简称SQL,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

SQL语言主要分为:

  • DQL(Data Query Language):数据查询语言,用于从表中取得数据。例如:select
  • DML(Data Manipulation Language):数据操作语言,用于对数据进行增加、修改、删除。例如:insert、udpate、delete
  • DDL(Data Definition Language):数据定义语言,用于在数据库中创建新表或修改、删除表,为表加入索引等。例如create、alter、drop
  • TPL:事务处理语言,对事务进行处理。例如:begin transaction、commit、savepoint、rollback
  • DCL:数据控制语言,实现权限控制。例如:grant、revoke
  • CCL:指针控制语言,用于对一个或多个表单独行的操作。例如:declare cursor(申明游标)、fetch info(进入)、update where current(更新当前位置)

数据库常用对象

  • 表(Table):表是数据库存储的逻辑单元,以行和列的形式存在;列是字段,行就是一条数据记录。
  • 视图(View):一个或多个数据表里的数据的逻辑显示,视图就是一张虚拟的表,并不真正存储数据。
  • 图表/数据库关系图(Database Diagram):护具库关系图,也称图表,利用图表可以编辑表与表之间的关系以及表的行列属性。
  • 默认值(Default):默认值是当在表中创建列或插入数据时,对没有指定其具体值的列或列数据项赋予事先设定好的值。
  • 规则(Rule):规则是对数据库表中数据信息的限制,其限定的是表的列。
  • 约束(Constraint):执行数据检验规则,用于保证数据完整性的规则。
  • 索引(Index):用于提高查询性能,相当于书的目录。
  • 函数(Function):用于完成一个特定的计算,具有返回值和参数。
  • 存储过程(Stored Procedure):完成某项完整的业务处理,没有返回值,但可通过传出参数将多个值传个调用环境。
  • 触发器(Trigger):相当于一个事件的监听器,当数据库发生特定的事件后,触发器被触发,完成响应处理。
  • 用户(User):用户是有权限访问数据库的使用者,同时需要自己输入登录账号和密码。一般来说,数据库用户分为管理员用户和普通用户,前者可对数据库进行各种操作,后者只能进行阅读、查看等操作。

什么是MySQL

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle旗下产品。MySQL软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般网站软件的开发都选择 MySQL 作为网站数据库。

MySQL基本架构

MySQL的逻辑架构图如下:

mysql架构

MySQL的优势

  • 使用C和C++编写,并使用了多种编译器进行测试,保证了源代码的可移植性。

  • MySQL支持大型数据库,支持5000万条记录的数据仓库,32位系统表文件最大可支持4GB,64位系统支持最大的表文件为8TB。

  • MySQL是可以定制的,采用了GPL(GNU General Public License)协议,你可以修改源码来开发自己的MySQL系统。

  • MySQL是一种关联数据库管理系统,它将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并调高了灵活性。

  • MySQL使用标准的SQL数据语言形式。

  • MySQL可以允许运行在多个系统上,并且支持多种语言。这些编程语言包括C、C++、Python、Java、Perl、PHP和Ruby等

posted @ 2022-08-23 12:13  vgshots  阅读(73)  评论(0编辑  收藏  举报
Fork me on GitHub