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的优势
使用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等
MySQL学习(1)---MySQL概述的更多相关文章
- MySQL学习笔记-MySQL体系结构总览
MySQL体系结构总览 不管是用哪种数据库,了解数据库的体系结构都是极为重要的.MySQL体系结构主要由数据库和数据库实例构成. 数据库:物理操作系统文件或者其它文件的集合,在mysql中,数据库文件 ...
- MySQL学习(4)---MySQL索引
ps:没有特殊说明,此随笔中默认采用innoDB存储引擎中的索引,且索引都是指B+树(多路平衡搜索树)结构组织的索引.其中聚集索引.复合索引.前缀索引.唯一索引默认都是使用B+树,统称为索引. 索引概 ...
- 我的MYSQL学习心得 mysql的权限管理
这一篇<我的MYSQL学习心得(十三)>将会讲解MYSQL的用户管理 在mysql数据库中,有mysql_install_db脚本初始化权限表,存储权限的表有: 1.user表 2.db表 ...
- 我的MYSQL学习心得 mysql日志
这一篇<我的MYSQL学习心得(十五)>将会讲解MYSQL的日志 MYSQL里的日志主要分为4类,使用这些日志文件,可以查看MYSQL内部发生的事情. 分别是 1.错误日志:记录mysql ...
- MySQL学习11 - MySQL创建用户和授权
权限管理 权限管理 我们知道我们的最高权限管理者是root用户,它拥有着最高的权限操作.包括select.update.delete.update.grant等操作.那么一般情况在公司之后DBA工程师 ...
- MySQL学习笔记——MySQL启动过程(一)
首先去官网或者github下载MySQL5.7的源码. 官网地址:https://dev.mysql.com/downloads/mysql/ github地址:https://github.com/ ...
- MySQL学习(3)---MySQL常用命令
ps:此随笔基于mysql 5.7.*版本. 准备 net start mysql 启动MySQL服务 net stop mysql 关闭MySQL服务 mysql [-h<IP地址>] ...
- MySQL学习(一): MySQL的初步操作与命令
启动与关闭: 用管理员身份运行cmd 启动:net start mysql57 其中mysql57是我的MySQL名称,版本不同名称可能不一样 关闭:net stop mysql57 与上面同理 登录 ...
- mysql学习(2)-MySQL服务器优化
调优思路: 1.数据库设计与规划--以后再修该很麻烦,估计数据量,使用什么存储引擎 2.数据的应用--怎样取数据,sql语句的优化 3.mysql服务优化--内存的使用,磁盘的使用 4.操作系统的优化 ...
随机推荐
- docker容器管理操作
Docker容器的四种状态: 运行 已暂停 重新启动 已退出 1.容器的创建 容器创建:就是将镜像加载到容器的过程. 创建容器时如果没有指定容器名称,系统会自动创建一个名称. 新创建的容器默认处于停止 ...
- 字节输出流的续写和换行和字节输入流InputStream类&FileInputStream类介绍
数据追加续写 每次程序运行,创建输出流对象,都会清空目标文件中的数据.如何保目标文件中的数据,还能继续添加新数据呢? public FileOutputStream(File file,boolean ...
- MYSQL(基本篇)——一篇文章带你走进MYSQL的奇妙世界
MYSQL(基本篇)--一篇文章带你走进MYSQL的奇妙世界 MYSQL算是我们程序员必不可少的一份求职工具了 无论在什么岗位,我们都可以看到应聘要求上所书写的"精通MYSQL等数据库及优化 ...
- Linux ssh协议
基础知识 ssh:secure shell protocol,安全的远程登录 作用:是建立在应用层基础上的安全协议,实现数据传输过程中数据的加密,代替telent协议 使用tcp协议,端口号为22 s ...
- PhpStorm 中文设置教程
本文仅供学习交流使用,如侵立删!demo下载见文末 Pycharm中文设置教程 1.首先打开PhpStorm ,点击file-settings.找到plugins,搜索Marketplace,然后搜索 ...
- 在Ubuntu下编译安装GreatSQL
在Ubuntu下编译安装GreatSQL 本次介绍如何利用Docker构建Ubuntu环境,并将GreatSQL源码编译成二进制文件. 1.准备工作 先创建本次Docker的workdir为 /dat ...
- 技术分享 | 测试git上2500星的闪回小工具
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 1.实验环境 2.软件下载 3.开始测试 4.附参数说明 生产上发生误删数据或者误更新数据的事故时,传统恢复方法是利用备份 ...
- 『叶问』#41,三节点的MGR集群,有两个节点宕机后还能正常工作吗
『叶问』#41,三节点的MGR集群,有两个节点宕机后还能正常工作吗 每周学点MGR知识. 1. 三节点的MGR集群,有两个节点宕机后还能正常工作吗 要看具体是哪种情况. 如果两个节点是正常关闭的话,则 ...
- 蔚来杯2022牛客暑期多校训练营6 ABGJM
比赛链接 A 题解 知识点:数学,构造. 题目要求构造一个长为 \(m\) 的序列 \(c\) ,\(m\) 自选,使得 \(c\) 的无限循环序列 \(b\) 中任意连续 \(a_i\) 个数中都存 ...
- Linux 10 安装JDK
参考源 https://www.bilibili.com/video/BV187411y7hF?spm_id_from=333.999.0.0 版本 本文章基于 CentOS 7.6 这里使用 rpm ...