MySQL入门:数据库是什么 | SQL是什么 | MySQL是什么


全文约 3235 字,预计阅读时长: 9分钟


在这里插入图片描述

数据库

存储数据用文件就可以了,为什么还要弄个数据库?

  • 文件保存数据有以下几个缺点:
    • 文件的安全性问题
    • 文件不利于数据查询和管理
    • 文件不利于存储海量数据
    • 文件在程序中控制不方便

为了解决上述问题,专家们设计出更加利于管理数据的东西——数据库,按照数据结构来组织、存储和管理数据的仓库(磁盘和内存)它能更有效的管理数据。用来管理数据库的计算机系统称为数据库管理系统(Database Management System,DBMS)。

为什么要使用专用系统(DBMS)来管理数据呢?

  • 无法多人共享数据
  • 无法提供操作大量数据所需的格式
  • 实现读写自动化需要编程能力
  • 无法应对突发事故
  • DBMS 可以克服这些不足,实现多个用户同时安全简单地操作大量数据。这也是我们一定要使用DBMS 的原因。为保存应用中实体的数据,一般会在数据库中创建多个表,以保存程序中实体的数据

数据库管理系统(DBMS)的种类

DBMS 主要通过数据的保存格式(数据库的种类)来进行分类,现阶段主要有以下5 种类型。

  1. 层次数据库(Hierarchical Database,HDB)。最古老的数据库之一,它把数据通过层次结构(树形结构)的方式表现出来。层次数据库曾经是数据库的主流,但随着关系数据库的出现和普及,现在已经很少使用了。

  2. 关系数据库(Relational Database,RDB),关系数据库是现在应用最广泛的数据库。关系数据库在1969 年诞生,可谓历史悠久。和Excel 工作表一样,它也采用由行和列组成的二维表来管理数据,所以简单易懂。同时,它还使用专门的SQL(Structured Query Language,结构化查询语言)对数据进行操作。这种表格的DBMS 称为关系数据库管理系统(Relational Database Management System,RDBMS)。在这里插入图片描述

比较具有代表性的RDBMS 有如下5 种。

  • Oracle Database:甲骨文公司的RDBMS(通常简称为Oracle)
  • SQL Server :微软公司的RDBMS
  • DB2:IBM 公司的RDBMS
  • PostgreSQL:开源的RDBMS
  • MySQL :开源的RDBMS
  1. 面向对象数据库(Object Oriented Database,OODB)。编程语言当中有一种被称为面向对象语言的语言。把数据以及对数据的操作集合起来以对象为单位进行管理,因此得名。面向对象数据库就是用来保存这些对象的数据库。

  2. XML数据库(XML Database,XMLDB)。最近几年,XMLB 作为在网络上进行交互的数据的形式逐渐普及起来。XML 数据库可以对XML 形式的大量数据进行高速处理。

  3. 键值存储系统(Key-Value Store,KVS)。这是一种单纯用来保存查询所使用的主键(Key)和值(Value)的组合的数据库。具有编程语言知识的读者可以把它想象成关联数组或者散列(hash)。近年来,随着键值存储系统被应用到Google 等需要对大量数据进行超高速查询的Web 服务当中,它正逐渐为人们所关注。


数据库的结构

介绍使用SQL 语言的关系数据库管理系统(RDBMS)的操作方法。如无特殊说明,下面所提到的数据库以及DBMS 都是指RDBMS。

  • 使用RDBMS 时,最常见的系统结构就是客户端/ 服务器类型(C/S类型)
    在这里插入图片描述
  • RDBMS 既可以和其客户端安装在同一台计算机上,也可以分别安装在不同的计算机上。这样一来,不仅可以通过网络使二者相互关联,还可以实现多个客户端访问同一个RDBMS
    在这里插入图片描述
  • 客户端没有必要使用同样的程序,只要能将SQL 发送给RDBMS,就可以操作数据库了。并且,多个客户端还可以同时对同一个数据库进行读写操作。

另外,RDBMS 除了需要同时接收多个客户端的请求之外,还需要操作存有大量数据的数据库,因此通常都会安装在比客户端性能更优越的计算机上。操作数据量特别巨大的数据库时,还可以将多台计算机组合使用。

虽然RDBMS 的系统结构多种多样,但是从客户端发来的SQL 语句基本上都是一样的。


什么是SQL

  • SQL是为操作数据库而开发的语言。它原本是为了提高数据库查询效率而开发的语言,但是现在不仅可以进行数据查询,就连数据的插入和删除等操作也基本上都可以通过SQL 来完成了。

国际标准化组织(ISO)为SQL 制定了相应的标准,以此为基准的SQL 称为标准SQL。以前,完全基于标准SQL 的RDBMS 很少,通常需要根据不同的RDBMS来编写特定的SQL 语句。这样一来,就会造成能够在Oracle 中使用的SQL 语句却无法在SQL Server 中使用,反之亦然。近来,对标准SQL 的支持取得了一些进展,因此希望准备学习SQL 的人们能够从现在开始就牢记标准SQL 的书写方式。学会标准SQL 就可以在各种RDBMS 中书写SQL 语句了。


MySQL

  • MySQL 是一个可移植的关系型数据库管理系统的软件,几乎能在当前所有的操作系统上运行,如 Unix/Linux、Windows、Mac 和 Solaris。各种系统在底层实现方面各有不同,但是 MySQL 基本上能保证在各个平台上的物理体系结构的一致性。
  • 需要操作数据管理软件的人有:数据库管理员,基于数据库做二次开发的,后端开发。
    在这里插入图片描述

SQL语句 | 种类

SQL 用关键字、表名、列名等组合而成的一条语句(SQL 语句)来描述操作的内容。关键字是指那些含义或使用方法已事先定义好的英语单词,存在包含“对表进行查询”或者“参考这个表”等各种意义的关键字。

根据对RDBMS 赋予的指令种类的不同,SQL 语句可以分为以下三类。其中使用最多的是DML。

  • DDL(Data Definition Language,数据定义语言) 用来创建或者删除存储数据用的数据库以及数据库中的表等对象。DDL 包含以下几种指令。
    • CREATE: 创建数据库和表等对象
    • DROP: 删除数据库和表等对象
    • ALTER: 修改数据库和表等对象的结构
  • DML(Data Manipulation Language,数据操纵语言) 用来查询或者变更表中的记录。DML 包含以下几种指令。
    • SELECT:查询表中的数据
    • INSERT:向表中插入新数据
    • UPDATE:更新表中的数据
    • DELETE:删除表中的数据
  • DCL(Data Control Language,数据控制语言) 用来确认或者取消对数据库中的数据进行的变更。除此之外,还可以对RDBMS 的用户是否有权限操作数据库中的对象(数据库表等)进行设定。DCL 包含以下几种指令。
    • COMMIT: 确认对数据库中的数据进行的变更
    • ROLLBACK: 取消对数据库中的数据进行的变更
    • GRANT: 赋予用户操作权限
    • REVOKE: 取消用户的操作权限

SQL 的基本书写规则

  • SQL 语句要以分号(;)结尾
  • SQL 语句不区分大小写
    • SQL 不区分关键字的大小写 。例如,不管写成SELECT 还是select,解释都是一样的。表名和列名也是如此
    • 但是插入到表中的数据是区分大小写的。例如,在操作过程中,数据Computer、COMPUTER 或computer,三者是不一样的。
  • 常数的书写方式是固定的。在SQL 语句中直接书写的字符串、日期或者数字等称为常数
    • SQL 语句中含有日期或字符串的时候需要使用单引号将其括起来。日期的格式有很多种(‘26 Jan 2010’ 或者’10/01/26’ 等),也可以使用’2010-01-26’ 这种’ 年- 月- 日’ 的格式。
    • 在SQL 语句中书写数字的时候,不需要使用任何符号标识,直接写成1000 这样的数字即可。

存储引擎

存储引擎是:数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。MySQL的核心就是插件式存储引擎,支持多种存储引擎。查看存储引擎:mysql登录后,show engines;


参考与总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值