摘要: [TOC] 一、练习 创建用户表 用户组表 主机表 业务线表 建关系:user与usergroup 建关系:host与business 建关系:uesr与host 二、作业 按照如下表的设计写出SQL语句 1. 建班级表 2. 建学生表 3. 建老师表 4. 建课程表 5. 建成绩表 6. 查询成绩 阅读全文
posted @ 2019-07-13 20:30 蔚蓝的爱 阅读(171) 评论(0) 推荐(0) 编辑
摘要: [TOC] 约束 1. 概述 为了防止不符合规范的数据进入数据库,在用户对数据进行插入、修改、删除等操作时,DBMS自动按照一定的约束条件对数据进行监测,使不符合规范的数据不能进入数据库,以确保数据库中存储的数据正确、有效、相容。 约束条件与数据类型的宽度一样,都是可选参数,主要分为以下几种: | 阅读全文
posted @ 2019-07-13 16:15 蔚蓝的爱 阅读(183) 评论(0) 推荐(0) 编辑
摘要: [TOC] 配置文件的使用 大家发现每次进入mysql都需要进行登录操作,而且服务器的编码为Latin1,客户端的编码为GBK,这样就很容易造成乱码,所以我们就需要进行一个统一 1. 在根目录(程序安装的路径)下创建一个配置文件,名称为my.ini 内容为cfg格式,即section+option 阅读全文
posted @ 2019-07-13 14:46 蔚蓝的爱 阅读(400) 评论(0) 推荐(0) 编辑
摘要: 1. 创建一个datetime表 2. 输入"10000 10 10 00:00:00"进行测试 3. 输入”23 01 02 12:23:56"测试 会和date一样,'00' '69'会转换为2000 2069,'70' '99'会转换为1970 1999 4. 测试年份输入三位或者一位 可以存 阅读全文
posted @ 2019-07-11 21:21 蔚蓝的爱 阅读(3542) 评论(0) 推荐(0) 编辑
摘要: [TOC] 数据库的基本概念 什么是数据库 字面意思数据库就是存储数据的仓库,正常情况下我们存储数据的方式有: 1. 列表,字典,元组……等 这些都存在内存中 优点:存取速度快 缺点:计算机断电就消失了 2. 文件存储 通过文件进行存储,保存在硬盘 优点:永久保存 缺点:存取速度慢 而我们的数据库也 阅读全文
posted @ 2019-07-11 16:26 蔚蓝的爱 阅读(187) 评论(0) 推荐(0) 编辑
摘要: [TOC] 引子 上一节中我们知道GIL锁将导致CPython中多线程无法并行执行,只能并发的执行。 而并发实现的原理是切换+保存,那就意味着使用多线程实现并发,就需要为每一个任务创建一个线程,必然增加了线程创建销毁与切换的带来的开销 明显的问题就是,高并发情况下,由于任务数量太多导致无法开启新的线 阅读全文
posted @ 2019-07-10 18:48 蔚蓝的爱 阅读(191) 评论(0) 推荐(0) 编辑
摘要: [TOC] 一堆锁 死锁现象( ) ​ 死锁指的是,某个资源被占用之后,一直得不到释放,导致其他需要这个资源的线程进入阻塞状态 产生死锁的情况 1. 对同一把互斥锁,进行了多次加锁 2. 一个共享资源,在访问时必须具备多把锁,但是这些锁被不同的线程或进程所持有,这样会导致相互等待对方释放,从而程序卡 阅读全文
posted @ 2019-07-09 17:39 蔚蓝的爱 阅读(231) 评论(0) 推荐(0) 编辑
摘要: [TOC] 多线程 什么是线程 进程是操作系统可以调度已经进行资源分配的基本单位,是一个资源单位,其中包含了运行这个程序所需的资源 线程是操作系统可以运算调度的最小单位,是真正的执行单位,其包含在进程中, 一个线程就是一条固定的控制流程, 一个进程可以包含多个线程,同一进程中的线程共享进程内的资源 阅读全文
posted @ 2019-07-08 20:32 蔚蓝的爱 阅读(127) 评论(0) 推荐(0) 编辑
摘要: [TOC] 生产者消费者模型 生产者消费者模型 模型就是解决某个固定问题的方法或者套路 生产者:泛指产生数据的一方 消费者:泛指处理数据的一方 案例: 食堂饭店就是生产者,负责做饭 负责吃饭的就是消费者 那我们来想一想,这两者之间是否有什么问题,我需要做到的是做饭的和吃饭的能够做到无缝衔接,也就是饭 阅读全文
posted @ 2019-07-08 20:03 蔚蓝的爱 阅读(158) 评论(0) 推荐(0) 编辑
摘要: [TOC] 并发编程 并发与串行 就现在而言,我们写的程序还都是单一运行,一次只能运行一个程序这种运行方式是串行 串行:程序自上而下进行运行,一行一行的顺序执行,只有把当前任务执行完成,才会执行下一个任务 例如: 1. TCP服务器中,当正在进行通信循环时,就无法处理其他客户端的请求 2. 当程序执 阅读全文
posted @ 2019-07-02 21:03 蔚蓝的爱 阅读(272) 评论(0) 推荐(0) 编辑
摘要: [TOC] 基于UDP协议的套接字编程 UDP套接字简单示例 服务端 客户端 UDP是无链接的,先启动哪一端都不会报错 UDP协议是数据报协议,发空的时候也会自带报头,因此客户端输入空,服务端也能收到 UPD协议一般不用于传输大数据。 UDP套接字虽然没有粘包问题,但是不能替代TCP套接字,因为UP 阅读全文
posted @ 2019-06-27 21:28 蔚蓝的爱 阅读(199) 评论(0) 推荐(0) 编辑
摘要: [TOC] 模拟ssh远程执行命令 服务端 客户端 粘包问题 什么是粘包 注意:只有TCP协议会有粘包问题,UDP协议不会粘包 socket收发消息原理 因为服务端一次性把数据给出来了,但是客户端每次只能接受1024个字节的数据,如果数据量较大,服务端就需要一个缓存来存放数据,然后等待客户端一段一段 阅读全文
posted @ 2019-06-27 21:27 蔚蓝的爱 阅读(239) 评论(0) 推荐(0) 编辑
摘要: [TOC] TCP三次握手和四次挥手 背景描述 通过OSI七层网络模型中IP层的介绍,我们知道网络层,可以实现两个主机之间的通信。其实并不然,因为真正的实体是在主机的进程,是一个主机中的一个进程与另一个主机的进程在交换数据。 IP协议只是把数据发送到目的主机,但是并没有交给主机的具体应用程序。而端到 阅读全文
posted @ 2019-06-27 20:05 蔚蓝的爱 阅读(331) 评论(0) 推荐(0) 编辑
摘要: [TOC] 网络架构及其演变过程 单机架构 单机:顾名思义,就是不需要进行联网操作 应用领域 1. 俄罗斯方块 2. 连连看 CS架构 CS架构: C client 客户端,用于安装用户软件,有很多个,如QQ,DNF S server 服务端,用于管理数据库的主机中的软件,兼顾还有处理业务逻辑,只需 阅读全文
posted @ 2019-06-26 19:37 蔚蓝的爱 阅读(519) 评论(0) 推荐(0) 编辑
摘要: [TOC] 1. 单例模式 1.1 什么是单例模式 单例模式就是基于某种方法实例化多次得到的示例是同一个 上面演示的就不属于单例模式,虽然看起来实例化对象一摸一样,但从内存地址就能看出,其实都是单独的对象 1.2 为什么用单例模式 当实例化多次得到的对象存放的属性都是一样的时候,我们就没必要去占用更 阅读全文
posted @ 2019-06-22 11:58 蔚蓝的爱 阅读(494) 评论(0) 推荐(0) 编辑
摘要: [TOC] 1. 元类 1.1 什么是元类 在python中,一切皆对象,那么我们用class关键字定义的类也是一个对象,而负责产生该对象的类称之为元类 1.2 为什么用元类 元类是负责产生类的,所以我们可以通过元类控制类的产生过程,把一些不符合的筛选掉,同时还可以通过元类里的 方法控制对象的产生 阅读全文
posted @ 2019-06-22 11:56 蔚蓝的爱 阅读(221) 评论(0) 推荐(0) 编辑
摘要: [TOC] 1. isinstance,issubclass 1.1 isinstance与type type是用来判断类型的,但是不会认为子类是父类的一种类型 isinstance也是用来判断对象类型,但是会认为子类是父类的一种类型 True False True True 1.2 issubcl 阅读全文
posted @ 2019-06-22 11:48 蔚蓝的爱 阅读(130) 评论(0) 推荐(0) 编辑
摘要: [TOC] 类的封装 封装是什么 封装就是把东西放在一起然后封起来,别人就拿不到了 封装的两个层面 第一个层面 第一个层面的封装(什么都不用做):创建类和对象会分别创建二者的名称空间,我们只能用类名.或者obj.的方式去访问里面的名字,这本身就是一种封装 第二个层面 第二个层面的封装:类中把某些属性 阅读全文
posted @ 2019-06-21 20:50 蔚蓝的爱 阅读(176) 评论(0) 推荐(0) 编辑
摘要: [TOC] 类的继承 什么是继承 继承就是新建一个类的方式,新建的类我们叫子类,被继承的类称为父类 在现实生活中,子女继承了父母的基因,遗产,所以子女会拥有父母的部分特征 而在python中,子类继承父类就是子类完全拥有父类所具备的属性及技能 为什么要继承 比如我现在定义一个动物类,这个动物类拥有名 阅读全文
posted @ 2019-06-20 21:02 蔚蓝的爱 阅读(203) 评论(0) 推荐(0) 编辑
摘要: [TOC] 面向对象编程介绍 面向过程编程 面向过程编程的核心就是过程,过程指的是解决问题的步骤,也就是按照固定的顺序进行,执行程序,就好比流水线一样 优点:复杂的问题简单化,流程化 缺点:扩展性差 面向对象编程 面向对象编程的核心就是对象二字,对象就是特征与技能的结合体 基于面向对象编程的思想编程 阅读全文
posted @ 2019-06-20 19:01 蔚蓝的爱 阅读(124) 评论(0) 推荐(0) 编辑