MongoDB

安装配置
  • 安装D:\MongoDB
  • 创建数据存放文件夹
    D:\data\mongo\db
    D:\data\mongo\log
  • 配置文件
    新建D:\MongoDB\Server\3.6\mongod.cfg
systemLog:
    destination: file
    path: d:\data\mongo\log\mongod.log
storage:
    dbPath: d:\data\mongo\db
  • 测试:
    D:\MongoDB\Server\3.6\bin>mongod --dbpath d:\data\mongo\db

  • 安装服务
    关闭测试打开的窗口
    D:\MongoDB\Server\3.6\bin>mongod.exe --config "D:\MongoDB\Server\3.6\mongod.cfg" --install

可视化管理工具nosql

shell
F6执行语句

常用命令
  • 查看所有数据库:show dbs
    查看当前数据库:db
    切换数据库,不存在则创建:use test1
    删除当前数据库:db.dropDatabase()

  • 创建集合:db.createCollection('stu')
    查看数据库的所有集合:show collections
    删除集合:db.stu.drop()

  • 在集合中插入数据:
    db.stu.insert({name:'aaa', gender:1})
    db.stu.insert({name:'bbb', gender:0, age:20})
    db.stu.insert({name:'ccc', gender:1, stu_id:123456})
    查看集合的所有数据:db.stu.find()
    更新数据:db.stu.update( {name:'aaa'}, {name:'abc'} )
    保存数据(_id存在则修改,不存在则新建):db.stu.save({_id:'20180102','name':'John'})
    删除数据(justOne表示只删除匹配到的第一条数据):
    db.stu.remove({gender:1}, {justOne:true})

  • save和insert函数都可以向collection里插入数据,但两者是有两个区别:
    一、使用save函数里,如果原来的对象不存在,那他们都可以向collection里插入数据,如果已经存在,save会调用update更新里面的记录,而insert则会忽略操作
    二、insert可以一次性插入一个列表,而不用遍历,效率高, save则需要遍历列表,一个个插入。

  • 条件查询

show collections
db.createCollection('course')
db.course.insert({title:'java', count:10})
db.course.insert({title:'linux', count:15})
db.course.insert({title:'web', count:20})
db.course.insert({title:'django', count:18})
db.course.insert({title:'web', count:22})
db.course.find()

db.course.find({title:'爬虫'})
db.course.insert({title:'mysql', count:15})

db.course.find({count:{$gte:15}})
db.course.find({count:{$gt:15}, title:'web'})
db.course.find({$or:[{count:{$lt:20}}, {title:'web'}]})
python连接mongodb
import pymongo

# 创建连接
client = pymongo.MongoClient("localhost", 27017)

# 选择数据库
db = client['test2']

# 选择集合
collec = db.mycollec

# 插入多条记录
data = [
    {'name': '马化腾', 'age': 46},
    {'name': '丁磊', 'age': 48},
    {'name': '张朝阳', 'age': 51}
]
collec.insert(data)

# 查看数据
result = collec.find_one()
print(result['name'], result['age'])

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值