随笔分类 -  数据库

摘要:安装包 到中文官网查找客户端代码 联网安装 使用源码安装 交互代码 引入模块 连接 方式一:根据数据类型的不同,调用相应的方法,完成读写 更多方法同前面学的命令 方式二:pipline 缓冲多条命令,然后一次性执行,减少服务器-客户端之间TCP数据库包,从而提高效率 pipe = r.pipelin 阅读全文
posted @ 2018-05-15 09:24 瀛洲小李 阅读(138) 评论(0) 推荐(0)
摘要:发布订阅 发布者不是计划发送消息给特定的接收者(订阅者),而是发布的消息分到不同的频道,不需要知道什么样的订阅者订阅 订阅者对一个或多个频道感兴趣,只需接收感兴趣的消息,不需要知道什么样的发布者发布的 发布者和订阅者的解耦合可以带来更大的扩展性和更加动态的网络拓扑 客户端发到频道的消息,将会被推送到 阅读全文
posted @ 2018-05-15 09:20 瀛洲小李 阅读(135) 评论(0) 推荐(0)
摘要:hash hash用于存储对象,对象的格式为键值对 命令 设置 设置单个属性 设置多个属性 获取 获取一个属性的值 获取多个属性的值 获取所有属性和值 获取所有的属性 返回包含属性的个数 获取所有值 其它 判断属性是否存在 删除属性及值 返回值的字符串长度 list 列表的元素类型为string 按 阅读全文
posted @ 2018-05-15 09:19 瀛洲小李 阅读(134) 评论(0) 推荐(0)
摘要:string string是redis最基本的类型 最大能存储512MB数据 string类型是二进制安全的,即可以为任何数据,比如数字、图片、序列化对象等 命令 设置 设置键值 设置键值及过期时间,以秒为单位 设置多个键值 获取 根据键获取值,如果不存在此键则返回nil 根据多个键获取多个值 运算 阅读全文
posted @ 2018-05-15 07:38 瀛洲小李 阅读(138) 评论(0) 推荐(0)
摘要:基本配置 在源文件/usr/local/redis目录下,文件redis.conf为配置文件 绑定地址:如果需要远程访问,可将此行注释 端口,默认为6379 是否以守护进程运行 如果以守护进程运行,则不会在命令行阻塞,类似于服务 如果以非守护进程运行,则当前终端被阻塞,无法使用 推荐改为yes,以守 阅读全文
posted @ 2018-05-15 07:16 瀛洲小李 阅读(124) 评论(0) 推荐(0)
摘要:NoSQL简介 NoSQL,全名为Not Only SQL,指的是非关系型的数据库 随着访问量的上升,网站的数据库性能出现了问题,于是nosql被设计出来 优点/缺点 优点: 高可扩展性 分布式计算 低成本 架构的灵活性,半结构化数据 没有复杂的关系 缺点: 没有标准化 有限的查询功能(到目前为止) 阅读全文
posted @ 2018-05-15 07:05 瀛洲小李 阅读(209) 评论(0) 推荐(0)
摘要:封装 观察前面的文件发现,除了sql语句及参数不同,其它语句都是一样的 创建MysqlHelper.py文件,定义类 添加 创建testInsertWrap.py文件,使用封装好的帮助类完成插入操作 查询一个 创建testGetOneWrap.py文件,使用封装好的帮助类完成查询最新一行数据操作 实 阅读全文
posted @ 2018-05-15 06:58 瀛洲小李 阅读(341) 评论(0) 推荐(1)
摘要:与python交互 安装引入模块 安装mysql模块 在文件中引入模块 Connection对象 用于建立与数据库的连接 创建对象:调用connect()方法 参数host:连接的mysql主机,如果本机是'localhost' 参数port:连接的mysql主机的端口,默认是3306 参数db:数 阅读全文
posted @ 2018-05-15 06:42 瀛洲小李 阅读(295) 评论(0) 推荐(0)
摘要:视图 对于复杂的查询,在多次使用后,维护是一件非常麻烦的事情 解决:定义视图 视图本质就是对查询的一个封装 定义视图 视图的用途就是查询 事务 当一个业务逻辑需要多个sql完成时,如果其中某条sql语句出错,则希望整个操作都退回 使用事务可以完成退回的功能,保证业务逻辑的正确性 事务四大特性(简称A 阅读全文
posted @ 2018-05-14 21:56 瀛洲小李 阅读(134) 评论(0) 推荐(0)
摘要:自关联 设计省信息的表结构provinces id ptitle 设计市信息的表结构citys id ctitle proid citys表的proid表示城市所属的省,对应着provinces表的id值 问题:能不能将两个表合成一张表呢? 思考:观察两张表发现,citys表比provinces表多 阅读全文
posted @ 2018-05-14 21:51 瀛洲小李 阅读(175) 评论(0) 推荐(0)
摘要:关系 创建成绩表scores,结构如下 id 学生 科目 成绩 思考:学生列应该存什么信息呢? 答:学生列的数据不是在这里新建的,而应该从学生表引用过来,关系也是一条数据;根据范式要求应该存储学生的编号,而不是学生的姓名等其它信息 同理,科目表也是关系列,引用科目表中的数据 id 学生 科目 成绩 阅读全文
posted @ 2018-05-14 21:46 瀛洲小李 阅读(299) 评论(0) 推荐(1)
摘要:分组 按照字段分组,表示此字段相同的数据会被放到一个组中 分组后,只能查询出相同的数据列,对于有差异的数据列无法出现在结果集中 可以对分组后的数据进行统计,做聚合运算 语法: 查询男女生总数 查询各城市人数 分组后的数据筛选 语法: having后面的条件运算符与where的相同 查询男生总人数 对 阅读全文
posted @ 2018-05-14 20:27 瀛洲小李 阅读(193) 评论(0) 推荐(0)
摘要:查询的基本语法 from关键字后面写表名,表示数据来源于是这张表 select后面写表中的列名,如果是*表示在结果中显示表中所有列 在select后面的列名部分,可以使用as为列起别名,这个别名出现在结果集中 如果要查询多个列,之间使用逗号分隔 消除重复行 在select后面列前使用distinct 阅读全文
posted @ 2018-05-14 20:07 瀛洲小李 阅读(175) 评论(0) 推荐(0)
摘要:数据完整性 一个数据库就是一个完整的业务单元,可以包含多张表,数据被存储在表中 在表中为了更加准确的存储数据,保证数据的正确有效,可以在创建表的时候,为表添加一些强制性的验证,包括数据字段的类型、约束 字段类型 在mysql中包含的数据类型很多,这里主要列出来常用的几种 数字:int,decimal 阅读全文
posted @ 2018-05-14 19:47 瀛洲小李 阅读(180) 评论(0) 推荐(0)
摘要:E-R模型 当前物理的数据库都是按照E-R模型进行设计的 E表示entry,实体 R表示relationship,关系 一个实体转换为数据库中的一个表 关系描述两个实体之间的对应规则,包括 一对一 一对多 多对多 关系转换为数据库表中的一个列 *在关系型数据库中一行就是一个对象 一对一 一对多 多对 阅读全文
posted @ 2018-05-14 19:30 瀛洲小李 阅读(226) 评论(0) 推荐(0)