3-5 其他类型数据库:SQLite&MongoDB(版本:py3)

SQLite

特点

  • 文件型数据库
  • 常用于应用程序存储数据,比如浏览器存储用户的资料等
  • GUI: DB Browser for SQLite;访问SQLite就是访问一个文件,使用这个前端的程序来访问
  • Python:import sqlite3,来进行数据库的读取(不需要安装)

相关准备 
1.访问DB Browser for SQLite,在界面右端选择合适的安装程序 
2.访问Kaggle-iris,下载整理好的iris的SQLite的数据集 
3.在DB Browser中打开iris sqllite格式的数据库

请阅读SQLite官方文档,请重点阅读代码示例部分

import sqlite3
#通过sqlite3.connect连接文件数据库
conn=sqlite3.connect('路径+文件名')
#用SQL语句选择数据,并返货结果,result 返回的是list结构
c=conn.cursor()
c.execute('select * from iris')
result=c.fetchall()
print(result)

#如果需要返回的格式是Sqlite3.Row,需要在执行查询语句前加入一行代码
c.row_factory=sqlite3.Row
#虽然和Python的Dictionary结构有一定的差异,但是可以根据属性名称来进行index检索


之后的操作重点依旧回到了SQL语句的操作,请确认你对SQL语句的掌握,再继续进行学习

MongoDB

特点

  • NoSQL数据库,不使用SQL语句进行检索
  • MongoDB存储文件的类型类似于JSON格式
  • GUI:Robo 3T
  • Python:PyMongo,来进行数据库的读取(需要安装)
#MongoDB插入记录
#db是数据库的名称;mycol是数据库中的表格名称,id,title,description,by,url是键,冒号后是属性的值;tag存储的是列表;like:还可以插入int型
db.mycol.insert({_id:ObjectId(增加内容),title:'___',description:'___',by:'___',url:'___',tags:['___',...],likes:___}]

#MongoDB查询
#OR代表了后面方括号里面语句的逻辑关系,这里是或的意思;pretty美化输出;
db.mycol.find({$or:[{"by":"tutorials point"},{"title":"MongoDB Overview"}]}).pretty()



请注意:”by”:”tutorials point”,如果对应成SQL语句则是:WHERE by=”tutorials point”,相信你也可以看出MongoDB的查询语句和SQL语句是完全不同的

也许NoSQL数据库离你的工作或目前的学习计划相对较远,但没关系,请先认识到数据库是不仅限于MySQL的,NoSQL是现在数据库发展的主流方向之一,随着使用的深入,你也会逐渐熟悉起来

补充知识

SQLite3及PyMongo

SQLite3

SQLite是一个轻量级的文件型数据库,希望你能通过以下的链接材料,了解更多关于这个库的操作指令 
请阅读:

  • sqlite3使用简介
  • sqlite3常用命令&语法

PyMongo

视频只简单介绍了如何插入和查询,如果你想要实际使用PyMongo库,还远远不够,请阅读:

  • PyMongo Tutorial,从给出的example中学习更多的操作
  • PyMongo 小总结,可以帮助你实现快速查阅

扩展阅读

NoSQL数据库

随着数据存储需求的发展,非关系型数据库NoSQL拥有了越来越多的使用者,NoSQL并不是No-SQL,而是指Not Only SQL

非关系型数据库的特点

  • 没有固定的表结构
  • 避免使用join操作
  • NoSQL是基于键值对的,不需要经过SQL层的解析,性能较高

了解非关系型数据库的发展

请阅读从关系型数据库到非关系型数据库,了解关系型数据库的瓶颈,以及非关系型数据库的发展历程

主流NoSQL数据库

请阅读现在市场上的主流NoSQL数据库,扩展你对于数据库的了解

  • 10个出色的NoSQL数据库
  • 8 种 NoSQL 数据库系统对比

你可能感兴趣的:(3-5 其他类型数据库:SQLite&MongoDB(版本:py3))