mySql

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')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值