数据库练习(二)三个数据库根据指定id获取name和存储数据库名称
已知有三个数据库mysql,mongodb和redis,已经分别存储了不同的学生信息,数据全部采用字符串类型,只有id和name两个字段(在mongo和redis中键为id,值为name),现需编写代码实现需求:根据指定id获取对应的name和存储该条信息的数据库名称。
答案结果如下:
from pymysql import *
from pymongo import *
from redis import *
class MySQL(object):
def__init__(self):
self.con = connect(host='localhost', port=3306,
database='stu_info',user='root',
password='mysql',charset='utf8')
self.cur = self.con.cursor()
self.flag = ["mysql", None]
defclose(self):
self.cur.close()
self.con.close()
defcheck(self, sid):
try:
cur = self.cur
param = [sid]
sel_sql = "select name from student where id = %s"
cur.execute(sel_sql, param)
res = cur.fetchone()
ifres:
self.flag[1] = res[0]
exceptException:
pass
finally:
self.close()
return self.flag
class Mongo(object):
def__init__(self):
self.client = MongoClient(host='localhost', port=27017)
self.db = self.client.stu_info
self.col = self.db.student
self.flag = ["mongo", None]
defcheck(self, sid):
try:
res = self.col.find_one({"id": sid})
ifres:
self.flag[1] = res["name"]
exceptException:
pass
finally:
return self.flag
class Redis(object):
def__init__(self):
self.client = StrictRedis()
self.flag = ["redis", None]
defcheck(self, sid):
try:
res = self.client.get(sid)
ifres:
self.flag[1] = res.decode()
exceptException:
pass
finally:
return self.flag
class Check(object):
def__init__(self):
self.msg = ["不在库中", "未找到该学生"]
defcheck(self, sid):
redis= Redis()
self.msg = redis.check(sid)
ifself.msg[1]:
return self.msg
else:
mongo = Mongo()
self.msg = mongo.check(sid)
ifself.msg[1]:
return self.msg
else:
mysql = MySQL()
self.msg = mysql.check(sid)
if self.msg[1]:
return self.msg
else:
self.msg = ["不在库中", "未找到该学生"]
return self.msg
def main():
stu_id =input("请输入要查询的id号:")
check_id =Check()
id_msg =check_id.check(stu_id)
print(id_msg)
if __name__ == '__main__':
main()
数据库练习(二)三个数据库根据指定id获取name和存储数据库名称相关推荐
- ibatis基础(三):查询指定id的单个对象
在Student.xml中插入如下代码: <!-- parameterClass代表要传入的参数类型 --><select id="SelectStudentById&qu ...
- 数据库 实验二 查询
一.实验内容 1.用SQL语句表示下列操作,在学生库中实现数据查询. (1)求数学系学生的学号和姓名. (2)求选修了课程的学生学号. (3)求选修001号课程的学生学号和成绩,并要求对查询结果按成绩 ...
- SQL2K数据库开发二十六之存储过程操作创建存储过程(一)
1.可以使用Transact-SQL中的CREATE PROCEDURE语句创建存储过程,使用该语句的语法为: 2.在查询分析器中执行如下语句创建一个存储过程. 3.在企业管理器中创建存储过程的方法为 ...
- java后端系统学习总结 02_数据库基础学习、jdbc基础学习、er图基础学习、数据库——(完结)
猿猿正在系统的学习一些计算机知识,和后端技术栈,目前阶段主要在系统学习java.此专栏,为我学习过程中的学习笔记,便于日后复习回顾来看,也很适合新人学习参考. 以下是猿猿对数据库和java深入的第一遍 ...
- 获取SQL SERVER某个数据库中所有存储过程的参数
2019独角兽企业重金招聘Python工程师标准>>> 一.获取指定数据库中所有存储过程的参数的方法 SELECT sp.object_Id as FunctionId, sp.na ...
- mysql同步大师_数据库大师成长日记:您最需要了解的NoSQL非关系型数据库
朋友们,我们平时使用的数据库,大多都是关系型数据库,包括MySQL.PostgreSQL.SQLServer等.关系型数据库的特点是数据的存储通过二维表格实现,将数据存储在相互独立的表格中. 近年来, ...
- 通过系统表获取SQL,Access,Oracle数据库的元数据信息
元数据简介 元数据 (metadata) 最常见的定义为"有关数据的结构数据",或者再简单一点就是"关于数据的信息",日常生活中的图例.图书馆目录卡和名片等都可 ...
- php按id获取整条数据库,Ajax取得数据库的json值,想通过id获取对应信息,但是都默认获取第一条了...
PHP<?PHP header("Content-Type: text/html; charset=utf-8"); include('conn.php');//链接数据库 ...
- where in的sql语句按照指定ID进行排序的解决方法
做网站的时候需要一个需求,需要按照指定的ID获取数据库中的数据,返回数据的顺序要和指定ID的顺序相同,数据库是SQL Server的,下面的代码是在网上找来的,SQL server的已经测试过,可以满 ...
最新文章
- 从 Vuex 0.6.x 迁移到 1.0
- TCP close_wait 状态的解释
- python矩阵相关操作
- uva 11105——Semi-prime H-numbers
- JAVA 向文本文件中换行插入字符
- redis aof命令缓冲区的写入源码
- python栈应用_栈应用之 后缀表达式计算 (python 版)
- MATLAB提取 .fig 文件中的数据
- 点云配准icp算法推导
- pdman 创建表同步数据库_PDMan-2.0 正式发布:用心开源,免费的国产数据库建模工具PowerDesigner...
- 知道建模中的UV吗?
- 渐变背景怎么搞?2分钟教你制作渐变背景
- [转]大规模服务设计部署经验谈
- 陈满雪冤背后英雄:上百名同学捐款数十万元
- PPP、PPPOE、PPTP、L2TP应用场合
- java实现OCR图文识别Tess4j,高准确率高效率
- 【数据库数据恢复】华为云mysql数据库数据被delete的数据恢复案例
- 优雅整洁的 Java 代码命名技巧,风之极·净化
- 高蛋白过敏我们该如何缓解?教你几招远离过敏吃喝无忌
- android电视机软件锁,如何解锁电视的“应用锁”?OPPO智能电视R1这些操作学起来...
热门文章
- oracle-11g-R2监听文件配置
- Vmware由于centos升级内核不可运行(C header files matching your running kernel were not found)的解决方案...
- 鸟哥linux 私房菜
- oracle 12.2.0.1 搭建 active dataguard
- Angular2升级到Angular4
- 关于MapReduce中自定义Combine类(一)
- 华为OJ平台——整形数组合并
- Windows注册表操作基础代码
- MySQL源码解读之数据结构-LF_DYNARRAY
- getimg()在java中,java – 使用getClass()加载资源getResource()