pymongo的基本操做和使用--練習

1.將MongoDB註冊到電腦中mysql

安裝好MongoDB以後,如何使用MongoDB呢?來到安裝目錄D:/MongoDB/bin會有以下列表:sql

其中,mongod.exe是服務端,mongo.exe是客服端,要使用mongo須要依次雙擊打開服務端和客服端,以下:數據庫

這個時候,咱們纔可以使用mongo,很顯然,這樣會特別麻煩,由於每次使用都須要啓動一下mongo的服務。所以,能夠考慮將啓動mongo的服務交給電腦操做,之後每次咱們只須要在命令行中輸入mongo來啓動就能夠了。那麼,如何將服務註冊到電腦中呢?數組

安裝好mongo後,在命令行中輸入:D:\MongoDB\mongd.exe  --config  D:\MongoDB\mongod.cfg  --install 就能夠將服務註冊到計算機中。ide

註冊服務後,啓動mongo,輸入:net start MongoDB,結果以下:spa

此時,輸入mongo就可使用了:命令行

 

 2.經常使用操做code

# coding = utf-8

# 1.將MongoDB註冊到電腦中

# 2.基本命令, 如下命令均在命令行窗口中輸入
'''
use dbname 切換數據庫,若是該庫不存在則建立該數據庫
            若是沒有數據,會回滾
show databases  查看全部數據庫,也可簡寫爲show dbs

db.dropDatabase()  刪除當前數據庫
db.test.insert({  }) 插入數據, test不存在會自動建立
db.test.save({  })  當沒有出現id字段時,會保存數據,若是出現了
                    已有id字段,會替換數據
db.test.update({  }) 默認只更新一條文檔,若是須要多條,須要制定multi參數

db.test.find({ 可指定條件 }).limit(5)  默認返回20條數據, 能夠制定limit參數
db.test.remove({'class':'爬蟲'}, {justOne:true})刪除1條,不給刪除全部符合要求的
db.test.drop()  刪除集合

例:
use db_tet  進入db_test數據庫(若是沒有db_test就會建立db_test庫)
db.db_test.insert({students':30})  在db_test下建立一個集合,至關於關係型數據庫中的表
輸入:
show tables 就能夠顯示db_test下全部集合了


'''

# 3.操做符
'''
比較操做符:
$eq 等於
$gt 大於
$gte 大於等於
$lt  小於
$lte 小於等於
$ne 不等於
$in  匹配數組中的任意值

邏輯操做符
$or  或
$and
$not  

$nor +表達式  查詢與任意字段都不匹配的數據,匹配除了表達式中的值之外的

更新操做符
$set 只更新文檔中的某一個字段,不是所有替換
$inc  自增(減) 讓對應的某一個字段增長(減)一次
$mul  乘法
$rename  重命名文檔中指定的字段名

增刪改查
插入數據:insert或save, 不給id時,會默認分配一個id
修改數據:update(默認修改一條數據,修改參數multi:true就會修改所有數據)或save,
查找數據: find默認查找20條  findOne查找一條
刪除數據: remove

例:
db.db_test.find()  顯示數據庫中全部數據
db.db_test.find({'students':{$eq:30}}  查找student=30的數據
db.db_test.find({'students':{$gt:30}}  查找student>30的數據
db.db_test.find({'students':{$gte:30}}  查找student>=30的數據

db.db_test.find({'students':{$in:[50, 60, 80]}}) 匹配students在50,60,80中的數據

db.db_test.find({$or:['students':50], ['class':30]}) 匹配students爲50或class爲30的數據
db.db_test.find({'students':50, 'class':30}) 匹配students爲50且class爲30的數據

db.db_test.update({'students':50}, {$set:{'students':55}})  將students爲50更新爲55,只更新這一個字段,其餘字段不變

db.db_test.save({'students':50, 'class':'spider'})  # 插入新數據,由於不指定id,會默認分配一個id
                                                    當save指定和某一數據相同id時,就是修改數據了
# 指定修改一個字段students,修改全部值的stuednts56爲60
db.db_test.update({'students':56}, {$set{'students':60}}, {multi:true}})

db.db_test.find({'students':{$gte:66}})  查找students>=66的數據
db.db_test.remove({})  默認刪除集合中全部文檔
db.db_test.remove({'students':50})  刪除全部students爲50的數據
'''
# 4.pymongo操做

# pymongo安裝
# pip install pymongo
#
import pymongo

# 鏈接mongo,可添加參數鏈接遠程mongo數據庫
conn = pymongo.MongoClient()
db = conn['mongo_test']  # 選擇對應數據庫
collection = db['test']  # 選擇數據庫下的集合

# 增刪改查
# collection.insert({'a': 1, 'b': 2})
# collection.insert_many([{'a': 1, 'b': 2}, {'a': 1, 'b': 2}])

# collection.remove({  })

# collection.delete_many()

# collection.update({'a':1}, {'a':'aaa'})
# collection.update({'a':1}, {'$set':{'a':'aaa'}})
#
# collection.find({})

# mysql鏈接
# import pymysql
#
# conn = pymysql.connect(
#     host='*******',
#     user='**',
#     password='***',
#     charset='utf8',
#     database='***'
# )
#
# cursor =conn.cursor()
#
# create_table = '''create table if not exists i(
#                   id INT PRIMARY KEY auto_increment,
#                   username VARCHAR (20) not NULL ,
#                   number INT,
#                   attentions INT,
#                   comments INT,
#                   constellation VARCHAR (10),
#                   occupation VARCHAR (10),
#                   address VARCHAR (20)
# )
# '''
# cursor.execute(create_table)
相關文章
相關標籤/搜索