学习了这一课,了解到除了mysql还有其他的数据库,除了SQL还有nosql如moggoDB。
SQLite
最常用的情景是在手机或桌面的应用程序。
特点
- 从名字就可以看出是一个轻量级的数据库
- 文件型数据库
- 常用于应用程序存储数据,比如浏览器存储用户的资料等
- GUI: DB Browser for SQLite;访问SQLite就是访问一个文件,使用这个前端的程序来访问
- Python:import sqlite3,来进行数据库的读取(不需要安装)
OK,下面来试一试吧!
准备
- 同样的,对于新手,我们需要一个前端的可视化程序,可以从这里下载:http://sqlitebrowser.org/
- 访问Kaggle-iris,下载整理好的iris的SQLite的数据集(访问这个需要科学上网)
- 在DB Browser中打开iris sqllite格式的数据库
可以看一下,这个跟mysQL还是很像的。
看一下简单的示例代码,更详细的请看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,数据库目前就了解这么多吧!