前面写了几篇数据分析文章,用爬虫爬取了全网6500多笔资金进行数据分析,这是数据分析文章的开头部分。当时,留下了几个问题。问题之一是我们使用文件来存储数据。其实正宗的方法是使用数据库存储。因为做数据分析,尤其是当你的数据量非常大或者开发后端的时候,肯定要用到数据库,所以学好数据库是非常有必要的。那么,在接下来的几篇文章中,我将为大家介绍Python在数据库方面的使用。小伙伴们,开始吧~~要点:数据库的分类,Python如何操作数据库,数据库环境。数据库一、数据库的分类关系型数据库和非关系型数据库1).什么是关系数据库?关系数据库是指使用关系模型来组织数据的数据库。简单地说,关系模型是指二维表模型。关系数据库是由二维表和它们之间的链接组成的数据组织。例如,银行系统会大量使用关系型数据库。比如大家经常使用的MySQL,就是典型的关系型数据库。优点:易懂:二维表结构是一个非常接近逻辑世界的概念,关系模型相对于网状、层次等模型易懂易用:通用的SQL语言使其非常方便操作关系型数据库且易于维护:丰富的完整性(实体完整性、参照完整性和用户定义的完整性)大大降低了数据冗余和数据不一致的概率2)。什么是非关系数据库?关系型数据库虽然很好,但是随着互联网的大规模爆发,它的弱点也越来越明显,比如事务一致性、多表联合查询、高并发等瓶颈很明显。于是诞生了NoSQL这个名词,它是以键值对的形式存储的,结构不固定。每个元组可以有不同的字段,每个元组可以根据需要添加一些自己的键值对,这样就不会被限制。基于固定的结构,可以减少一些时间和空间的开销。比如MongoDb就是一个典型的NoSQL数据库(键值对你怎么看,json格式)。写到这里,让我想起了当年IP与ATM技术之争。事实上,任何技术都不可能独霸数年。引领潮流只是一时,顺应潮流才是王道。没有绝对的技术,只有最适合时代的。2.如何用Python操作数据库现在市面上主流的数据库有Oracle,MySQL,Mongodb,Redis,SQLite,SQLServer等等,有同学会问这么多数据库,我的代码怎么移植,Python放心有一个标准的数据库接口叫做DB-API,PythonDB-API为开发者提供了一个数据库应用编程接口,也就是说,用它来连接一旦你创建了每一个数据库,你就可以用同样的方式操作每一个数据库。PythonDB-API的使用过程也很简单:a)。引入API模块b)。获得与数据库的连接c).执行查询、搜索和存储过程的相关语句d)。关闭数据库连接。想一个故事(把大象放进冰箱),三步搞定,哈哈3。数据库环境的搭建,SQLite开始了解了以上的原理,小伙伴们肯定会迫不及待的去实践了,很快数据库就打开了。旅,我们还是选择从简单开始,先开始学习和使用SQLite,为什么选择SQLite?数据库的学习看似复杂,其实只是一层纸。克服了这个障碍,学习其他数据库就非常容易了。.SQLite是一个非常简单、免费、快速且功能强大的小型数据库(麻雀虽小五脏俱全),不需要复杂的安装和管理,简单易用。非常适合初学者。带上SQLite3是不是很爽?(win的同学肯定不高兴,其实win下的安装很简单,自己百度一下,最多3分钟搞定)先看看SQLite3长啥样,打开Mac终端andtypesqlite3:4.当有数据库可视化工具的时候,我们需要使用可视化工具来查看我们的数据库,尤其是数据表比较大的时候,可以查看sqlite数据库文件的工具有很多。我这里推荐使用DBBrowserforSQLite,可以很直观的处理SQLite文件。可以去sqlitebrowser官网下载,有win、linux、mac版本,mac版13M左右,选择下载即可。5.创建数据库我们先创建一个数据库。创建数据库的方法有很多种,我们可以使用sqlite3命令行创建,或者使用Python代码编写新数据库,或者使用DBBrowserforSQlite创建图形可视化。对于零基础的初学者,我们先用最简单的图形界面来制作Let'sgo。1).打开DBBrowserstep1:点击新建数据库step2:取个名字,比如Studentsstep3:点击save2)。创建表一个数据库可以使用很多表。我们新建一个表叫demo,里面的列是id:INTEGER(相当于int类型)name:TEXT(相当于string类型)sex:TEXT(相当于string类型)age:INTEGER(相当于int类型)关于SQLite中的语法,下一篇会详细讲解,这里我们有个大概的了解就够了。3).编辑表格内容step1:点击Browerdatastep2:点击新建一条记录step3:添加每一行的内容然后保存退出,上面第一步保存的地方会出现一个Students.db(桌面)6.命令行查询数据库内容刚才我们创建了一个Students.db文件,它其实是一个3*4的二维表。要不要用sqlite看看?好吧,让我们打开一个终端并使用sqlite3Students.db打开它。敲击.tables,将出现一个演示表单。敲select*fromdemo;并且会出现演示表单中的内容。注意:sql语句必须以;结尾是不是和我们用图形界面创建的表格内容一模一样?有同学问,SQLite里面的数据格式是二维表。我们的NumPy、Pandas不是专门修复二维表的,比如CSV、Excel文件吗?哇,这位同学,你太有才了。是的,数据分析是一个很重要的过程,就是把数据清洗成表结构,存入数据库。事实上,CSV文件可以在几秒钟内直接转换为SQLdb文件。主角也要出场。我们最主要的目的是使用Python来读写数据库。让我们先阅读它。1).使用Pip安装SQLite3模块的方法有很多种。只需使用pipinstallsqlite3或pycharm安装它2)。阅读数据库演示表格a)。sqlite3.connect打开数据库文件b)。获取游标cursorc)。执行一条SQL语句,这里是全表d)的查询。打印每一行e)的数据。别忘了关闭游标和数据库结语:好了,这是Python数据库入门的第一章。深入一点,一层层慢慢讲数据库,其实并没有想象中那么神秘和困难。可以从手工搭建环境开始,虽然可视化工具很方便,当然还是建议大家从命令行开始,这对你的系统了解数据库的运行有很大的帮助。数据分析数据库篇我的项目主要使用MySQL和Mongodb,两者各有优缺点,都是我的最爱。应用场景略有不同,后面会讲到。
