MariaDB-入门

0、基础概念

数据(Data),是对客观事物的符号表示;
模型(Model),是现实世界的抽象;
数据结构,指数据的组织形式 或数据之间的联系。
数据模型(Data Model)是对数据特征的抽象,将客观事物抽象为数据模型,是一个逐步转化的过程,经历了现实世界、信息世界、计算机世界三个不同的世界,这其中经历了两级抽象和转化。
在这里插入图片描述
数据模型从抽象层次上描述了系统的静态特征、动态行为、约束条件,为数据库系统的信息表示与操作提供了一个抽象的框架。数据模型所描述的内容有三部分:

  • 数据结构
  • 数据操作
  • 数据约束

数据库事务(Transaction),是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。具有ACID特性:基元性(atomicity)、一致性(consistency)、隔离性(isolation)、持续性(durability)。

数据库模型,用于描述在数据库中结构化、操作数据的方法

  • 模型的结构部分 规定了数据如何被描述(如 树、表);
  • 模型的操作部分 规定了数据的添加、删除、显示、维护、打印、查找、选择、排序、更新等操作。

有哪几种数据库模型:

  • 对象模型
  • 层次模型(轻量级数据访问协议)
  • 网络模型(大型数据储存)
  • 关系模型
  • 面向对象模型
  • 半结构化模型
  • 平面模型(表格模型,形式一般是一个二维数组,如Excel)

数据库(DataBase),是一种存放数据的仓库,即按照一定的数据结构来组织、存储的。
可理解为:

  • 电子化的文件柜,即 存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作。
  • 是以一定方式储存在一起、可供多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。

当今互联网中最常用的数据库模型就两种:
1)关系型数据库

  • MySQL
    • MariaDB
    • Percona Server
  • PostgreSQL
  • Microsoft Access、Microsoft SQL Server
  • Google Fusion Tables
  • Oracle数据库
  • 其他:FileMaker、Sybase、dBASE、Clipper、FoxPro等

总结:二维的表格;通过SQL语言来存取、管理数据;保持数据一致性方面很强(ACID特性)。

1)非关系型数据库(NoSQL,Not only SQL 不仅仅是SQL)

  • 面向文档数据库
    • MongoDB(面向文档)
    • CouchDB
  • 键值(Key-Value)数据库
    • Apache Cassandra(为Facebook所使用,具有高度可扩展性)
    • Redis(持久化缓存)
    • Memcached
    • Berkeley DB
  • 列存储(Column-oriented)数据库
    • HBase
    • Cassandra
  • 图形数据库
    • Neo4J
    • InfoGrid

总结:数据存储不需要固定的表结构,通常也不存在连接操作;不是否定关系型数据库,而是作为关系数据库的一个重要补充;为高性能、高并发而生,忽略影响高性能、高并发的功能。
NoSQL数据库 没有标准的SQL,因此进行数据库查询需要制定数据模型,许多NoSQL数据库有REST式的数据接口或查询API。
在这里插入图片描述
数据库管理系统(DataBase Management System,DBMS),是为管理数据库而设计的电脑软件系统,它具有存储、截取、安全保障、备份等基础功能。

几乎所有的数据库管理系统都配备了一个开放式数据库连接(ODBC)驱动程序,令各个数据库之间得以相互集成 。

列式存储
如果翻转数据,列式存储于关系存储将会非常相似。与关系模型存储记录不同,列式存储以流的方式在列式存储所有的数据。对于任何记录,索引都可以快速地获取列上的数据。
Map-Reduce的实现Hadoop的流数据处理效率非常高,列式存储的优点体现的淋漓尽致。因此HBase、Hypertable通常作为 非关系型数据仓库,为Map-Reduce进行数据分析提供支持。
关系类型的列标对数据分析效果不好,因此,用户经常将更复杂的数据存储在列式数据库中。
列式存储支持行检索,但这需要从每个列中获取匹配的列值,并重新组成行。

参考:
五大主流数据库模型

1、MariaDB起源

Michael “Monty” Widenius,MySQL之父,骨灰级程序员。
在这里插入图片描述
MySQL,1999年在瑞典创立。其中 “My”是因为 他有个女儿叫My,“SQL”就是 Structured Query Language(结构化查询语言),用于和数据库交互的语言。
2006年,sun公司收购了MySQL公司,出价10亿美元。
2009年,Oracle公司收购sun,将MySQL纳入囊中。
Monty认为这两次收购MySQL存在MySQL闭源的潜在风险,因此社区采用分支方式来避开此风险。目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。就在当年(2009),成立了这个分支项目,这个分支的名字叫做MariaDB,取自他孙女玛丽亚(Maria)的名字。

MariaDB直到5.5版本(2010年12月),均依照MySQL的版本。因此,使用MariaDB5.5的人会从MySQL 5.5中了解到MariaDB的所有功能。
从2012年11月12日起发布的10.0.0版开始,不再依照MySQL的版号。10.0.x版以5.5版为基础,加上移植自MySQL 5.6版的功能和自行开发的新功能,而不是基于MySQL 5.6。

MariaDB是目前发展最快的MySQL分支版本,且新版本的发布速度已超过Oracle官方的MySQL版本。
在这里插入图片描述
CentOS 7将MySQL全部都改成了MariaDB。MariaDB是MySQL的分支,因此,可像使用MySQL一样操作MariaDB,跟学习MySQL是一样的。

参考:
MySQL前世今生

2、MariaDB学习outline

安装可使用yum命令,Yum(Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装
在这里插入图片描述
在这里插入图片描述

3、MariaDB基础语法

MySQL在Linux(Windows下不区分大小)下数据库名、表名、列名、别名区分大小写
参考:MySQL是否区分大小写

3.0 安装和配置MariaDB

0)Installation:win10 64位 [下载官网URL](https://downloads.mariadb.org/mariadb/10.2.10/)。在此下载的 MariaDB 10.2.10 Stable (2017-11-01),大概对应于MySQL 5.7.20(2017-09-13,不过MariaDB一般比MySQL发布bugfix和新的feature 更快。但是MySQL 8.0的语法特性基本在MariaDB 10.2中都有看到)。截止2019-04-23,MariaDB最新版本是10.3.14 Stable。

选择的是安装文件(不是压缩文件),安装时,记得勾选
a、Modify password for database user ‘root’----设置密码
b、Use UTF8 as default server’s character set
一路next即可。

安装完成后,可在开始菜单中找到【HeidiSQL】,它是一个用于简单化迷你的 MySQL 服务器和数据库管理的图形化界面。

重要的一步:配置环境变量,方便直接在cmd里操作数据库
【我的电脑】-【右键】-【属性】-【高级系统设置】-【环境变量】-【系统变量】-【Path】-【编辑】-【新建】-将MariaDB安装目录下bin文件夹路径(如:E:\MariaDB_L\bin)写入-【确定】*3。

在cmd里,输入mysql --version,显示如下:
C:\Users\Administrator>mysql --version
mysql Ver 15.1 Distrib 10.2.10-MariaDB, for Win64 (AMD64)

表示安装、配置成功!

1)在cmd里操作:基本命令

  • 进入mysql:mysql -uroot -p,输入root密码
  • 显示已有的数据库:show databases;
  • 选择数据库:use db_name;
  • 显示已有的数据库表:show tables;
  • 退出mysql:quit;

3.1 基础语法

参考:
MariaDB教程
学习笔记之mariadb的入门操作

4、深入学习MariaDB

参考文档:
DB-Engines Ranking

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值