数据库(DB)、数据库管理系统(DBMS)、MySQL、SQL之间的关系

目录

一.数据库(DB)

1.数据库的优点

2.数据库存储数据的特点

二.数据库管理系统(DBMS)

三.MySQL

1.MySQL的优点

2.MySQL的缺点

3.使用MySQL

四.SQL

1.SQL的优点

2.分类

3.语法规范

五.联系


一.数据库(DB)

数据库(database):保存有组织的数据的容器,通常是一个文件或一组文件。数据库就相当于一个仓库,用于有组织的采存储数据。

1.数据库的优点

  • 整体数据结构化
  • 数据的共享性高、冗余度低且易扩充
  • 数据的独立性高
  • 数据由数据库管理系统统一管理和控制

2.数据库存储数据的特点

  • 将数据放到表中,表再放到库中
  • 一个数据库中可以有多种表,每个表都有一个自己的名字,用来标识自己。表名具有唯一性。
  • 表具有一些特性,这些特性定义了数据在表中是如何存储的,类似于Java中的“类”的设计。
  • 表由列组成,我们也称为字段。所有表都是由一个或者多个列组成的,每一列类似Java中的“属性”。
  • 表中的数据是按行存储的,每一行类似于Java中的“对象”。

二.数据库管理系统(DBMS)

数据库管理系统(DataBase Management System):管理数据库的程序。常见的数据库管理系统有:Oracle、MySQL、DB2、SQLServer、SyBase、SQLite等。

之前的一篇博客有详细写过DBMS:数据库管理系统(DBMS)。感兴趣的可以移步看看。

三.MySQL

MySQL:一种数据库管理系统。

1.MySQL的优点

  • 体积小、速度快、总体拥有成本低、开源。
  • 支持多种操作系统。
  • 是开源数据库,提供的接口支持多种语言连接操作。
  • MySql的核心程序采用完全的多线程编程。线程是轻量级的进程,它可以灵活地为用户提供服务,而不过多的系统资源。用多线程和C语言实现的MySql能很容易充分利用CPU。
  • MySql有一个非常灵活而且安全的权限和口令系统。当客户与MySql服务器连接时,他们之间所有的口令传送被加密,而且MySql支持主机认证。
  • 支持ODBC for Windows, 支持所有的ODBC 2.5函数和其他许多函数, 可以用Access连接MySql服务器, 使得应用被扩展。
  • 支持大型的数据库, 可以方便地支持上千万条记录的数据库。作为一个开放源代码的数据库,可以针对不同的应用进行相应的修改。
  • 拥有一个非常快速而且稳定的基于线程的内存分配系统,可以持续使用面不必担心其稳定性。
  • MySQL同时提供高度多样性,能够提供很多不同的使用者介面,包括命令行客户端操作,网页浏览器,以及各式各样的程序语言介面,例如C++,Perl,Java,PHP,以及Python。你可以使用事先包装好的客户端,或者干脆自己写一个合适的应用程序。MySQL可用于Unix,Windows,以及OS/2等平台,因此它可以用在个人电脑或者是服务器上。

2.MySQL的缺点

  • 不支持热备份。
  • 安全系统复杂而非标准,另外只有到调用mysqladmin来重读用户权限时才发生改变。
  • 没有一种存储过程(Stored Procedure)语言。
  • MySQL的价格随平台和安装方式变化。Linux的MySQL如果由用户自己或系统管理员而不是第三方安装则是免费的,第三方案则必须付许可费。Unix或Linux 自行安装免费 、Unix或Linux 第三方安装收费。

3.使用MySQL

MySQL的安装不再赘述。

  • 通过管理员身份运行cmd
  • net start 服务名(启动服务)
  • net stop 服务名(停止服务)
  • mysql -h主机名 -P端口号 -u用户名 -p密码(若是登录本机数据库,主机端口号可不写;-p后面可不写密码,换行后再写)

当然,你也可以安装图形化用户界面客户端。

四.SQL

SQL(Structured Query Language):是一种结构化查询语言。SQL是一种专门用来与数据库通信的语言。几乎所有重要的DBMS都支持SQL,DBMS通过执行SQL来操作数据库,且任意两个DBMS实现的SQL不完全相同(SQL语言也有方言哦)。

1.SQL的优点

  • 不是某个特定数据库供应商专有的语言,几乎所有 DBMS(数据库软件)都支持SQL。
  • 简单易学 (相较于java、c、c++等,语法简单易上手)。
  • 虽然简单,但实际上是一种强有力的语言,灵活使用其语言元素,可以进行非常复杂和高级的数据库操作。

2.分类

  • DQL:数据查询语言,用于查询数据记录→select查询。
  • DML:数据操纵语言,用于修改数据记录→delete/truncate删除、update修改、insert添加。
  • DDL:用于定义数据库/表的结构,比如创建、修改或删除数据库对象/表→create创建、alter修改、drop删除(废弃)。
  • DCL:数据库控制语言,用于设置或更改数据库用户、角色权限→GRANT 授权、REVOKE 取消授权。
  • TCL:事物控制语言,用来控制数据库的访问→COMMIT 提交、ROLLBACK 回滚、SAVEPOINT 设置保存点、SET TRANSACTION 改变事务选项。
  • CCL:指针控制语言,用于对一个或多个表单独行的操作→DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT(此语言使用较少)。

3.语法规范

  • 语言不区分大小写,但约定俗成的是关键字大写、表明、列表小写。
  • 每条命令需以“;”或“/g”结尾。
  • 每条命令根据需要,可以进行缩进或换行。
  • 注释:单行注释:“#注释文字” 或 “-- 注释文字”(中间有空格)
               多行注释:/* 注释文字 */

五.联系

  • 数据存储到数据库中
  • 我们通过数据库管理系统(DBMS)管理数据
  • MySQL是DBMS的一种
  • 当我们对数据有操作需求(增删改查)时,通过SQL语言告诉我们的DBMS

猜你喜欢

转载自blog.csdn.net/senxu_/article/details/126900207