随笔分类 - Python基础
学会它你就是初级程序员
摘要:网络架构及其演变过程 一、单机架构 应用领域: 植物大战僵尸 office 二、CS架构 应用领域: QQ 大型网络游戏 计算机发展初期用户去取数据,直接就去主机拿,从这里开始就分出了客户端和服务端。 客户端:用户安装的软件; 服务端:统一管理数据库的主机中的软件就叫做服务端,再后来服务端不只是管理
阅读全文
摘要:Windows安装MySQL 一、下载 第一步:打开网址, ,点击downloads之后跳转到 第二步 :跳转至网址 ,选择Community选项 第三步 :点击MySQL Community Server进入 页面,再点击5.6版本的数据库 第四步:windows操作系统 点击5.6版本之后会跳转
阅读全文
摘要:Linux安装MySQL 一、环境和资源地址 [centos 7 安装MySQL] (http://repo.mysql.com/yum/mysql 5.6 community/) 二、安装 2.1 方式一(在线安装) 2.2 方式二(离线安装) 三、操作mysql相关常用shell命令 四、登陆和
阅读全文
摘要:使用Python操作MySQL数据库 一、数据库的安装和连接 1.1 PyMySQL的安装 1.2 python连接数据库 1.2.1 更多参数版 二、创建表操作 三、操作数据 3.1 插入操作 3.2 查询操作 Python查询Mysql使用 fetchone() 方法获取单条数据,使用 :方法获
阅读全文
摘要:MySQL性能分析之Explain Explain基础 关于explain命令相信大家并不陌生,具体用法和字段含义可以 "参考官网" ,这里需要强调rows是核心指标,绝大部分rows小的语句执行一定很快(有例外,下面会讲到)。所以优化语句基本上都是在优化rows。 5、possible_keys:
阅读全文
摘要:MySQL索引原理 一、初识索引 1.1 为什么要有索引? 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此对查询语句的优化显然是重中之重。说起加速查询,就不得不提到索引了。 1.2
阅读全文
摘要:一、综合练习 1.1 init.sql文件内容 sql / 数据导入: Navicat Premium Data Transfer Source Server : localhost Source Server Type : MySQL Source Server Version : 50624 S
阅读全文
摘要:MySQL多表查询 一、准备 建表与数据准备: 二、多表连接查询 重点: 外链接语法 2.1 交叉连接 不适用任何匹配条件。生成笛卡尔积 2.2 内连接 只连接匹配的行 2.3 外链接之左连接 优先显示左表全部记录 2.4 外链接之右连接 优先显示右表全部记录 2.5 全外连接 显示左右两个表全部记
阅读全文
摘要:MySQL单表查询 一、单表查询的语法及关键字执行的优先级 1.1 单表查询语法 1.2 关键字执行的优先级 from:找到表 where:拿着where指定的约束条件,去文件/表中取出一条条记录 group by:将取出的一条条记录进行分组group by,如果没有group by,则整体作为一组
阅读全文
摘要:MySQL记录操作 一、概览 MySQL数据操作: DML 在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括: 使用INSERT实现数据的插入 UPDATE实现数据的更新 使用DELETE实现数据的删除 使用SELECT查询数据以及。 二、插入数据(insert) 三、
阅读全文
摘要:MySQL表的完整性约束 一、概览 为了防止不符合规范的数据进入数据库,在用户对数据进行插入、修改、删除等操作时,DBMS自动按照一定的约束条件对数据进行监测,使不符合规范的数据不能进入数据库,以确保数据库中存储的数据正确、有效、相容。 约束条件与数据类型的宽度一样,都是可选参数,主要分为以下几种:
阅读全文
摘要:MySQL支持的数据类型 一、数值类型 MySQL支持所有标准SQL数值数据类型。这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。 关键字INT是INTEGER的同义词,
阅读全文
摘要:MySQL表操作 一、表介绍 表就相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段 还记得我们之前写过的‘员工信息表作业’么?存储这员工信息的文件是这样的: 如果把上面这个文件改成一张表,应该是下面这个样子 | id | name | age |
阅读全文
摘要:MySQL存储引擎概述 一、mysql存储引擎概述 1.1 什么是存储引擎? MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应
阅读全文
摘要:数据库基础 一、楔子 假设现在你已经是某大型互联网公司的高级程序员,让你写一个火车票购票系统,来hold住十一期间全国的购票需求,你怎么写? 由于在同一时段抢票的人数太多,所以你的程序不可能写在一台机器上,应该是多台机器一起分担用户的购票请求。 那么问题就来了,票务信息的数据存在哪里?存在文件里么?
阅读全文
摘要:大白话五种IO模型 一、I/O模型介绍 为了更好地了解I/O模型,我们需要事先回顾下: "同步、异步、阻塞、非阻塞" 同步(synchronous) I/O和异步(asynchronous) I/O,阻塞(blocking) I/O和非阻塞(non blocking)I/O分别是什么,到底有什么区别
阅读全文
摘要:Python程序中的协程操作 gevent模块 一、安装 安装:pip3 install gevent 二、Gevent模块介绍 Gevent 是一个第三方库,可以轻松通过gevent实现并发同步或异步编程,在gevent中用到的主要模式是Greenlet,它是以C扩展模块形式接入Python的轻量
阅读全文
摘要:Python程序中的协程操作 greenlet模块 一、安装模块 安装: 二、greenlet实现状态切换 单纯的切换(在没有io的情况下或者没有重复开辟内存空间的操作),反而会降低程序的执行速度。 三、效率对比 greenlet只是提供了一种比generator更加便捷的切换方式,当切到一个任务执
阅读全文
摘要:协程基础 一、引言 之前我们学习了线程、进程的概念,了解了在操作系统中进程是资源分配的最小单位,线程是CPU调度的最小单位。按道理来说我们已经算是把cpu的利用率提高很多了。但是我们知道无论是创建多进程还是创建多线程来解决问题,都要消耗一定的时间来创建进程、创建线程、以及管理他们之间的切换。 随着我
阅读全文
摘要:Python程序中的线程操作 concurrent模块 一、Python标准模块——concurrent.futures 官方文档:https://docs.python.org/dev/library/concurrent.futures.html 二、介绍 concurrent.futures模
阅读全文