python数据库
01 mysql
1,1 配置数据库
import pymysql
# 数据库参数配置
db_config = {
'user':'root', # 数据库用户名
'password':'qwe123', # 数据库密码
'db':'test', # 数据库
'charset':'utf8' # 数据编码
}
# 创建连接对象
conn = pymysql.connect(**db_config)
# 获取游标
cur = conn.cursor()
1.2 查询数据
# 数据操作
sql = 'select * from user'
rv = cur.execute(sql) # 数据个数
print(rv)
# 打印一条数据并迭代下去
print( cur.fetchone() )
print( cur.fetchone() )
# 获取全部数据
print( cur.fetchall() )
# 一次查几条,可迭代
print( cur.fetchmany(2) )
print( cur.fetchmany(2) )
print( cur.fetchmany(2) )
conn.commit() # 提交
cur.close() # 游标关闭
conn.close() # 连接关闭
02 Mongodb
2.1 启动
mongod --dbpath D:\db # 开启服务器,指定db数据地址 ( 不要关闭窗口 )
mongo # 连接数据库
2.2 库操作
# 查看数据库 没有数据的数据库不会显示出来
show dbs
# 创建/切换 数据库
use name
# 删除库 当前库下进行
db.dropDatabase()
# 查看当前所在的库
db
2.3 集合
name 是集合名
# 查看所有集合
show collections
# 创建集合
db.createCollection(name) // name 字符串
# 删除集合 name
db.name.drop()
2.4 文档
查询文档
db.name.find()
db.name.find({key:value}) # 条件查询
db.name.find().pretty() # Json格式化显示数据
#--find 条件查找 精确查找
db.name.find(json)
##############################
操作符 描述
$and 和
$or 或
$ne 不等于
$gt 大于
$lt 小于
$gte 大于等于
$lte 小于等于
#############################
db.name.find({age:{ $ne: 23 }})
db.name.find({$and: [ {age:18},{name:'zzw'} ] })
插入文档
db.name.insert(json)
db.name.insert([json1,json2,...]) # 多个数据
修改文档
# 修改 默认只更新一条数据
db.name.update(json,{$set:json2})
# 修改多条数据
db.name.update(json,{$set:json2},{multi:true})
删除文档
db.name.deleteOne(json) # 只删除一个
db.name.deleteMany(json) # 删除多个
2.5 数据操作
安装插件
pip install pymongo
连接配置模块
import pymongo # 导入模块
client = pymongo.MongoClient() # 建立连接
# 指定数据库
db = client['test']
# 指定集合
my_set = db['testJson']
查询文档
ret = my_set.find_one() # 查看一条
# print(ret)
ret2 = my_set.find() # 查看所有,可迭代对象
for i in ret2:
print(i)
增加文档
my_set.insert({'name':'牙膏'})
my_set.insert_Many([
{'name':'牙膏'},
{'name':'毛巾'}
])
修改文档
my_set.update_one({'name':'牙膏'},{'$set':{'name':'辣条'}}) # 改一条
my_set.update_Many({'name':'牙膏'},{'$set':{'name':'辣条'}}) # 改多条
删除文档
ret = my_set.delete_one({'name','毛巾'}) # 删除,并返回删除对象
ret = my_set.delete_Many({'name','毛巾'}) # 删除多条
03 redis
3.1 数据类型
String
set key value time # 设置数据 time过期时间(s),可省略
get key # 查看数据
append key value # 追加数据
del key # 删除数据
mset key1 value1 key2 value2 ... # 设置多个
mget key1 key2 # 查看多个
tyoe key # 查看key值类型
List
rpush key value1 value2 value3 ... # 向后添加数据
lpush key value1 value2 value3 ... # 向前添加数据
lrange key startIndex stopIndex # 查看数据 startIndex startIndex 开始索引 stopIndex 结束索引 (-1)
lindex key index # 通过索引得到值
lset key index value # 修改数据
rpop key # 删除最后一个
lpop key # 删除第一个
Hash
key field value # 键域值
hset key field value # 添加数据
hget key field # 查看域值
hgetall key # 查看所有key
hmset key field value,key field value ... # 设置多个
hvals key # 查看所有的value
hkeys key # 查看所有的域
Set
# 无序到字符集合。元素具有唯一性
sadd key member1 member2 ... # 添加数据
smembers key # 查看数据
spop key # 随机删除
srem key member1 member2 ... # 指定删除
Zset
# 每个成员都会有一个分数与之关联
# 成员是唯一到,但是分数可以是重复到
zadd key score1 member1 score2 member2 ... # 添加数据
zscore key score # 查看分数
zrange key start stop # 查看数据 0 -1
zrangebyscore key min max # 查看 min - max 分到数据
zrem key member1 member2 ... # 删除指定数据
zremrangebyrank key startIndex stopIndex # 通过索引下表删除
zremrangebyscore key min max # 通过分数删除
02 基本操作
redis-cli # 进入redis
exit # 退出
sudo service redis start/stop/restart # 操作服务端
select n # 切换数据库 [ 0-15号数据库,共16个数据库 ]
03 全局key操作
str_name # 命令规范, 类型_key
exists key # 查看key是否存在,存在1,不存在0
key * # 查看所有到key
del key # 删除键值对
rename key new_key # 改名
expire key seconds # 设置过期时间 seconds 是秒
ttl # 查看过期时间 -1无过期时间
04 操作
安装包
pip install redis
python操作
import redis
# db 库
red = redis.StrictRedis(db=2,decode_responses=True) # true 打印字符串
red.set('name','zzw') # 插入
ret = red.get('name') # 获取
print(ret) # 打印值
# 追加数据
red.append('name','cl')
# 查看类型
print( red.typpe('name') )
# 删除
red.delete('name')