DC学院学习笔记 (十):SQLite及MongoDB

  1. 云栖社区>
  2. 博客>
  3. 正文

DC学院学习笔记 (十):SQLite及MongoDB

kissjz 2018-02-13 15:20:28 浏览1597
展开阅读全文

学习了这一课,了解到除了mysql还有其他的数据库,除了SQL还有nosql如moggoDB。

SQLite

最常用的情景是在手机或桌面的应用程序。

特点

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

OK,下面来试一试吧!

准备

  1. 同样的,对于新手,我们需要一个前端的可视化程序,可以从这里下载:http://sqlitebrowser.org/
  2. 访问Kaggle-iris,下载整理好的iris的SQLite的数据集(访问这个需要科学上网
  3. 在DB Browser中打开iris sqllite格式的数据库

可以看一下,这个跟mysQL还是很像的。
image

看一下简单的示例代码,更详细的请看SQLite官方文档

import sqlite3
#通过sqlite3.connect连接文件数据库
conn=sqlite3.connect('C:\\Users\\Dell\\database.sqlite') ##路径+文件名
#用SQL语句选择数据,并返货结果,result 返回的是list结构
c=conn.cursor()

c.execute('select * from iris')

result=c.fetchone()  ##fetchall 就是只取出所有
print(result)

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

MongoDB

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

非关系型数据库的特点

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

特点

  • 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()

果然跟JSON很像。。、

:”by”:”tutorials point”,如果对应成SQL语句则是:WHERE by=”tutorials point”

OK,数据库目前就了解这么多吧!

网友评论

登录后评论
0/500
评论
kissjz
+ 关注