数据分析中的mysql入门

数据分析中的mysql

      • 1.数据库和数据库管理系统
        • 1.1 数据库(DataBase)
        • 1.2 数据库管理系统(DBMS)
        • 1.3 数据库在数据分析中的作用和地位
        • 1.4 Mysql数据库管理系统
        • 1.5 Mysql数据库管理系统与数据库的关系
      • 2.sql初识
        • 2.1 什么是sql
        • 2.2 sql的分类

1.数据库和数据库管理系统

1.1 数据库(DataBase)

按照数据结构存储数据的仓库

1.2 数据库管理系统(DBMS)

(Database Management System)是操纵和管理数据库的软件系统

  1. RDBMS

建立在关系模型之上的数据库管理系统,主要实现对结构化数据的管理。

  1. 1979 年,Oracle 2 诞生,它是第一个商用的 RDBMS(关系型数据库管理系统),随后被卖给了军方客户。随着 Oracle 软件的名气越来越大,公司也改叫 Oracle 公司。20 世纪90 年代,Oracle 的创始人埃里森成为继比尔·盖茨之后第二富有的人,可以说 IBM 缔造了两个帝国,一个是软件业的霸主微软,另一个是企业软件市场的霸主 Oracle。如今 Oracle的年收入达到了 400 亿美金,足以证明商用数据库软件的价值。从这点我们也能看出,如果选择了一个大的赛道,就要尽早商业化,占据大型企业客户完全可以创建巨大的商业价值,也足以证明一个软件企业不需要靠卖硬件也可以挣到很多钱。

  2. MySQL 是 1995 年诞生的开源数据库管理系统,因为免费开源的特性,得到了开发者的喜爱,用户量迅速增长,成为开源数据库的 No.1。但在发展过程中,MySQL 先后两次被易手,先是在 2008 年被 SUN 收购,然后在 2010 年 SUN 被 Oracle 收购,于是 Oracle 同时拥有了 MySQL 的管理权,至此 Oracle 在数据库领域中成为绝对的领导者。从这里我们也能看到,虽然 MySQL 是免费的产品,但是使用人数多,就足以证明巨大的用户价值。一个有巨大用户价值的产品,即使没有直接的商业价值,但作为基础设施也会被商业巨头看上。不过在 Oracle 收购 MySQL 的同时,MySQL 的创造者担心 MySQL 有闭源的风险,因此创建了 MySQL 的分支项目 MariaDB,MariaDB 在绝大部分情况下都是与 MySQL 兼容
    的,并且增加了许多新的特性,比如支持更多的存储引擎类型。许多企业也由原来的
    MySQL 纷纷转向了 MariaDB。

  3. SQL Server 是微软开发的商业数据库,诞生于 1989 年。实际上微软还推出了 Access 数据库,它是一种桌面数据库,同时具备后台存储和前台界面开发的功能,更加轻量级,适合小型的应用场景。因为后台的存储空间有限,一般只有 2G,Access 的优势在于可以在前台便捷地进行界面开发。而 SQL Server 是大型数据库,用于后台的存储和查询,不具备界面开发的功能。从这里我们也能看出,即使 SQL 语言是通用的,但是为了满足不同用户的使用场景,会存在多个 DBMS。比如 Oracle 更适合大型跨国企业的使用,因为他们对费用不敏感,但是对性能要求以及安全性有更高的要求,而 MySQL 更受到许多互联网公司,尤其是早期创业公司的青睐。

  4. Nosql

NoSQL 泛指非关系型数据库,主要包含键值型数据库、文档型数据
库、搜索引擎和列存储,图形数据库等

  1. 键值型数据库通过 Key-Value 键值的方式来存储数据,其中 Key 和 Value 可以是简单的对象,也可以是复杂的对象。Key 作为唯一的标识符,优点是查找速度快,在这方面明显优于关系型数据库,同时缺点也很明显,它无法像关系型数据库一样自由使用条件过滤(比如 WHERE),如果你不知道去哪里找数据,就要遍历所有的键,这就会消耗大量的计算。键值型数据库典型的使用场景是作为内容缓存。Redis 是最流行的键值型数据库 。

  2. 文档型数据库用来管理文档,在数据库中文档作为处理信息的基本单位,一个文档就相当于一条记录,MongoDB 是最流行的文档型数据库。

  3. 搜索引擎也是数据库检索中的重要应用,常见的全文搜索引擎有 Elasticsearch、Splunk 和Solr。虽然关系型数据库采用了索引提升检索效率,但是针对全文索引效率却较低。搜索引
    擎的优势在于采用了全文搜索的技术,核心原理是“倒排索引” 。

  4. 列式数据库是相对于行式存储的数据库,Oracle、MySQL、SQL Server 等数据库都是采用的行式存储(Row-based),而列式数据库是将数据按照列存储到数据库中,这样做的好处是可以大量降低系统的 I/O,适合于分布式文件系统,不足在于功能相对有限。

  5. 图形数据库,利用了图这种数据结构存储了实体(对象)之间的关系。最典型的例子就是社交网络中人与人的关系,数据模型主要是以节点和边(关系)来实现,特点在于能高效地解决复杂的关系问题。

  6. rdbms与Nosql

NoSQL 对 rdbms 做出了很好的补充,它可以让我们在云计算时代,更好地使用数据库技
术,比如快速读写,这样可以用低廉的成本,更方便进行扩展。这些 DBMS 除
了支持 SQL 标准以外,还会有自己的“方言”,也就是自己独有的语法。

Nosql是对RDBMS的补充,不是替代。

1.3 数据库在数据分析中的作用和地位

数据分析围绕的核心内容就是数据,数据分析的工具有很多,学习了excel,还有以后要学习的python等等。

但是excel一般用于处理中小型数据量的数据,如果数据量特别庞大,性能表现会较差。想当今互联网产业数据量爆炸式增长,那么如何实现海量数据的存储和查询就是一个非常重要的问题。因此数据库是一种非常常见的处理数据存储和查询的方式之一。

学好数据库就是学习数据分析最基本也是最核心的内容。mysql作为关系型数据库的通用标准,使用非常广泛,因此就以mysql为例。

1.4 Mysql数据库管理系统

瑞典Mysql AB公司开发的关系型数据库管理系统。

MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。体积小,速度快,成本低,支持千万级数据,成为中小型网站开发的主流选择。

在GPL条款下发布,数据量支持千万级别。

  • 连接mysql服务(登录)

    mysql –uroot –p密码
    
  • 常见命令

    show databases;  显示所有数据库
    use dbname; 指定使用某个数据库
    show tables; 显示该数据库下所有的表
    
  • 常用客户端工具

    sqlyog,navicat – 图形界面客户端(简单,方便,直观)

1.5 Mysql数据库管理系统与数据库的关系

一个数据库管理系统中可以管理多个数据库, 一个数据库中存放多张表。

2.sql初识

2.1 什么是sql

结构化查询语言(Structured Query Language),是关系型数据的一门通用语言,用于实现对数据库的查询,更新和管理。

2.2 sql的分类

  • DDL(Data Definition Language),数据定义语言,它用来定义我们的数据库对象,包括数据库、数据表和列。通过使用 DDL,我们可以创建,删除和修改数据库和表结构。
  • DML(Data Manipulation Language),数据操作语言,我们用它操作和数据库相关的记录,比如增加、删除、修改数据表中的记录。
  • DCL(Data Control Language),数据控制语言,我们用它来定义访问权限和安全级别。
  • DQL(Data Query Language),数据查询语言,我们用它查询想要的记录,它是 SQL 语言的重中之重。在实际的业务中,我们绝大多数情况下都是在和查询打交道,因此学会编写正确且高效的查询语句。

后续文章将对mysql的分类进行详细说明。

你可能感兴趣的:(数据分析,mysql,大数据,数据库)