MySQL入门:数据库是什么 | SQL是什么 | MySQL是什么
文章目录
- 数据库
- 数据库管理系统(DBMS)的种类
- 数据库的结构
- 什么是SQL
- MySQL
- SQL语句 | 种类
- SQL 的基本书写规则
- 存储引擎
- 参考与总结
全文约 3235 字,预计阅读时长: 9分钟
数据库
存储数据用文件就可以了,为什么还要弄个数据库?
- 文件保存数据有以下几个缺点:
- 文件的安全性问题
- 文件不利于数据查询和管理
- 文件不利于存储海量数据
- 文件在程序中控制不方便
为了解决上述问题,专家们设计出更加利于管理数据的东西——数据库,按照数据结构来组织、存储和管理数据的仓库(磁盘和内存)它能更有效的管理数据。用来管理数据库的计算机系统称为数据库管理系统(Database Management System,DBMS)。
为什么要使用专用系统(DBMS)来管理数据呢?
- 无法多人共享数据
- 无法提供操作大量数据所需的格式
- 实现读写自动化需要编程能力
- 无法应对突发事故
- DBMS 可以克服这些不足,实现多个用户同时安全简单地操作大量数据。这也是我们一定要使用DBMS 的原因。为保存应用中实体的数据,一般会在数据库中创建多个表,以保存程序中实体的数据。
数据库管理系统(DBMS)的种类
DBMS 主要通过数据的保存格式(数据库的种类)来进行分类,现阶段主要有以下5 种类型。
层次数据库(Hierarchical Database,HDB)。最古老的数据库之一,它把数据通过层次结构(树形结构)的方式表现出来。层次数据库曾经是数据库的主流,但随着关系数据库的出现和普及,现在已经很少使用了。
关系数据库(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
面向对象数据库(Object Oriented Database,OODB)。编程语言当中有一种被称为面向对象语言的语言。把数据以及对数据的操作集合起来以对象为单位进行管理,因此得名。面向对象数据库就是用来保存这些对象的数据库。
XML数据库(XML Database,XMLDB)。最近几年,XMLB 作为在网络上进行交互的数据的形式逐渐普及起来。XML 数据库可以对XML 形式的大量数据进行高速处理。
键值存储系统(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;
参考与总结
- 什么是数据库?什么是SQL?怎么入门SQL? - 图灵教育的文章 - 知乎
MySQL入门:数据库是什么 | SQL是什么 | MySQL是什么相关推荐
- Oracle 数据库、Microsoft SQL Server、MySQL 数据库三种常见数据库的区别深度剖析
文章目录 前言 一.ORACLE 数据库 二.Microsoft SQL Server 数据库 三.MySQL 数据库 总结 前言 Oracle 数据库.Microsoft SQL Server.My ...
- MySQL新建数据库并导入SQL文件
版权声明:本文为CSDN博主「caideb」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csdn.net/caideb/ ...
- mysql用户管理,常用sql语句,mysql数据库备份恢复
2019独角兽企业重金招聘Python工程师标准>>> mysql用户管理 grant all on . to 'user1' identified by 'passwd'; gra ...
- MySQL用户管理、常用SQL语句、MySQL数据库备份恢复
mysql用户管理 1.创建一个普通用户并授权 [root@gary-tao ~]# mysql -uroot -p'szyino-123' Warning: Using a password on ...
- linux mysql 主从数据库_【Linux】【MySQL】MySQL主从数据库
系统环境:Centos7 主:192.168.8.162 从:192.168.8.127 前提条件 a.关闭防火墙 systemctl stop firewalld 关闭防火墙开机自启 systemc ...
- mysql 存储过程 rowcount_ORACLE中的SQL%ROWCOUNT与MySQL中的ROW_COUNT()的一点异同
ORACLE中的SQL%ROWCOUNT与MySQL中的ROW_COUNT()的一点异同 MySQL的ROW_COUNT()和ORACLE中的SQL%ROWCOUNT函数作用并不完全相同. 从作用上来 ...
- mysql 10分钟_10分钟入门mysql(含常用的sql语句,mysql常见问题及解决方案)
开发中常用的sql语句 1,创建一个数据库并指定编码格式 drop database if exists test;create database test default character set ...
- 52次课(mysql用户管理、常用sql语句、 mysql数据库备份恢复)
MySQL创建用户以及授权 默认用户是root用户,不可能所有人员都用root用户,创建用户防止误删除,因为mysql里边有多个库每个库里有很多表,所以需要给单独的用户做一些授权我只需要它对某一个数据 ...
- Mysql入门笔记(1): python——SQL基本使用
终于学到数据库操作了,这意味着什么?以后再也不用从文件里读写数据了,过程实在太复杂了~~~为了纪念这个激动人心的时刻,一定要写一篇博客! 使用mysql数据库--增 插入一条数据 首先,还是先解释一下 ...
最新文章
- 【kuangbin带你飞】专题六 最小生成树
- 达夫设备(Duff‘s Device)
- oracle导出库压缩参数,oracle数据库的定时备份:导出 压缩 归类
- go byte转uint_面试官问我go反射,我怀疑他让我写ORM框架
- 二分查找法的循环与递归实现及时间复杂度分析
- mysql集群 clu_MySQL高可用之PXC简介
- 2021数据技术嘉年华 • 嘉宾面对面
- QQ第三方授权登录(带详细源码)
- 冒泡排序的实现和优化及其与插入,选择排序的比较
- ToStringBuilder介绍
- sqlserver字符串拼接
- Linux安装绿联无线网卡驱动
- 关闭计算机的方式有哪些,关机快捷键有哪些?电脑Windows快捷关机最全方法图文详解...
- mysql 删除数据后myd_关于mysql 删除数据后(.MYD,MYI)物理空间未释放
- android 恢复出厂设置流程分析,Android恢复出厂设置流程分析
- 如何使用excel画甘特图
- the sip module implements API v12.0 to v12.8 but the PyQt5.QtGui module requires API v12.9
- java-net-php-python-jspm现代化社区去也管理系统计算机毕业设计程序
- 从四个维度谈谈如何做好团队管理
- 微软翻译与服务器断开,一水的机翻?微软中文翻译也闹笑话了
热门文章
- UG NX 10.0 GRIP 二次开发
- 青龙羊毛——酷狗音乐(教程)
- Azure Synapse Analytics(Azure SQL DW) 性能优化指南(2)——使用具体化视图优化性能(上)
- ROS基础---ros通信、ros发布者publisher、publisher.cpp、Talker.cpp
- 华大单片机HC32L130 / HC32L136 / HC32F030 系列硬件开发指南
- 【总结】手机图片预览插件photoswipe使用总结
- BackTrack5 学习笔记三
- Windows下python安装PyCrypto加密模块以及使用
- 游戏一、脑洞大开3(密文破译)
- 交叉引用跳转不到后面_参考文献如何正确标注引用而不会变红?