摘要:
视图 对于复杂的查询,在多次使用后,维护是一件非常麻烦的事情 解决:定义视图 视图本质就是对查询的一个封装 定义视图 视图的用途就是查询 事务 当一个业务逻辑需要多个sql完成时,如果其中某条sql语句出错,则希望整个操作都退回 使用事务可以完成退回的功能,保证业务逻辑的正确性 事务四大特性(简称A 阅读全文
摘要:
自关联 设计省信息的表结构provinces id ptitle 设计市信息的表结构citys id ctitle proid citys表的proid表示城市所属的省,对应着provinces表的id值 问题:能不能将两个表合成一张表呢? 思考:观察两张表发现,citys表比provinces表多 阅读全文
摘要:
关系 创建成绩表scores,结构如下 id 学生 科目 成绩 思考:学生列应该存什么信息呢? 答:学生列的数据不是在这里新建的,而应该从学生表引用过来,关系也是一条数据;根据范式要求应该存储学生的编号,而不是学生的姓名等其它信息 同理,科目表也是关系列,引用科目表中的数据 id 学生 科目 成绩 阅读全文
摘要:
分组 按照字段分组,表示此字段相同的数据会被放到一个组中 分组后,只能查询出相同的数据列,对于有差异的数据列无法出现在结果集中 可以对分组后的数据进行统计,做聚合运算 语法: 查询男女生总数 查询各城市人数 分组后的数据筛选 语法: having后面的条件运算符与where的相同 查询男生总人数 对 阅读全文
摘要:
查询的基本语法 from关键字后面写表名,表示数据来源于是这张表 select后面写表中的列名,如果是*表示在结果中显示表中所有列 在select后面的列名部分,可以使用as为列起别名,这个别名出现在结果集中 如果要查询多个列,之间使用逗号分隔 消除重复行 在select后面列前使用distinct 阅读全文
摘要:
数据完整性 一个数据库就是一个完整的业务单元,可以包含多张表,数据被存储在表中 在表中为了更加准确的存储数据,保证数据的正确有效,可以在创建表的时候,为表添加一些强制性的验证,包括数据字段的类型、约束 字段类型 在mysql中包含的数据类型很多,这里主要列出来常用的几种 数字:int,decimal 阅读全文
摘要:
E-R模型 当前物理的数据库都是按照E-R模型进行设计的 E表示entry,实体 R表示relationship,关系 一个实体转换为数据库中的一个表 关系描述两个实体之间的对应规则,包括 一对一 一对多 多对多 关系转换为数据库表中的一个列 *在关系型数据库中一行就是一个对象 一对一 一对多 多对 阅读全文
摘要:
Web动态服务器-1 应用程序示例 Web动态服务器-2-传递数据给应用 阅读全文
摘要:
Web静态服务器-2-显示需要的页面 Web静态服务器-3-使用类 阅读全文
摘要:
Web静态服务器-1-显示固定的页面 阅读全文
摘要:
HTTP协议简介 1. 使用谷歌/火狐浏览器分析 在Web应用中,服务器把网页传给浏览器,实际上就是把网页的HTML代码发送给浏览器,让浏览器显示出来。而浏览器和服务器之间的传输协议是HTTP,所以: HTML是一种用来定义网页的文本,会HTML,就可以编写网页; HTTP是在网络上传输HTML的协 阅读全文
摘要:
异步 同步调用就是你 喊 你朋友吃饭 ,你朋友在忙 ,你就一直在那等,等你朋友忙完了 ,你们一起去 异步调用就是你 喊 你朋友吃饭 ,你朋友说知道了 ,待会忙完去找你 ,你就去做别的了。 from multiprocessing import Pool import time import os d 阅读全文
摘要:
同步应用 多个线程有序执行 运行结果: 总结 可以使用互斥锁完成多个任务,有序的进程工作,这就是线程的同步 阅读全文
摘要:
多线程-非共享数据 对于全局变量,在多线程中要格外小心,否则容易造成数据错乱的情况发生 1. 非全局变量是否要加锁呢? 在多线程开发中,全局变量是多个线程都共享的数据,而局部变量等是各自线程的,是非共享的 阅读全文
摘要:
同步的概念 1. 多线程开发可能遇到的问题 假设两个线程t1和t2都要对num=0进行增1运算,t1和t2都各对num修改10次,num的最终的结果应该为20。 但是由于是多线程访问,有可能出现下面情况: 在num=0时,t1取得num=0。此时系统把t1调度为”sleeping”状态,把t2转换为 阅读全文
摘要:
进程VS线程 功能 进程,能够完成多任务,比如 在一台电脑上能够同时运行多个QQ 线程,能够完成多任务,比如 一个QQ中的多个聊天窗口 定义的不同 进程是系统进行资源分配和调度的一个独立单位. 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不 阅读全文
摘要:
多线程-共享全局变量 列表当做实参传递到线程中 总结: 在一个进程内的所有线程共享全局变量,能够在不适用其他方式的前提下完成多线程之间的数据共享(这点要比多进程要好) 缺点就是,线程是对全局变量随意遂改可能造成多线程之间对全局变量的混乱(即线程非安全) 阅读全文
摘要:
threading注意点 1. 线程执行代码的封装 通过上一小节,能够看出,通过使用threading模块能完成多任务的程序开发,为了让每个线程的封装性更完美,所以使用threading模块时,往往会定义一个新的子类class,只要继承threading.Thread就可以了,然后重写run方法 示 阅读全文
摘要:
多线程-threading python的thread模块是比较底层的模块,python的threading模块是对thread做了一些包装的,可以更加方便的被使用 1. 使用threading模块 单线程执行 多线程执行 2. 主线程会等待所有的子线程结束后才结束 3. 查看线程数量 阅读全文
摘要:
进程池Pool 当需要创建的子进程数量不多时,可以直接利用multiprocessing中的Process动态成生多个进程,但如果是上百甚至上千个目标,手动的去创建进程的工作量巨大,此时就可以用到multiprocessing模块提供的Pool方法。 初始化Pool时,可以指定一个最大进程数,当有新 阅读全文