1

# 1 . 进程  线程  协程  之间的相同点和不同点
#相同点:都能帮助我们实现并发操作,规避IO时间,提高执行效率
#进程:内存隔离 操作系统级别 可以利用多核(高计算) 计算机中资源分配的最小单位
#线程:内存共享 操作系统级别 开销中 Cpython解释器下不能利用多核(规避IO) 计算机CPU调度的最小单位
#协程:内存共享 用户级别 开销小 不能利用多核(协程的本质是个单线程)(规避IO)
'''
操作系统级别:全世界的人都存储在大计算机上,他都知道哪个好那个坏
用户级别: 自己去判断哪个好哪个坏 switch 是手动添加的 gevent 里为什么没有? 因为他在底层添加了(可能是if)
'''
# 为什么不能删GIL锁
#垃圾回收机制 所以 cpython # 2 .进程内存之间是否共享,如何实现通信?
#不共享 通过python模块\第三方工具
# 本质上:
# 基于文件 :
#队列 管道 manager
# 基于网络
#第三方工具(redis kafka memcha) socket # 3在python 中是否线程安全
#不安全
#python 你写的python代码未来都会转换成机器码,机器码执行的过程中
#如果有一个非原子性操作,那么就会导致线程数据不安全
#需要手动加锁来解决问题 # 4 协程的本质是什么
#多个任务在一个线程上能够实现切换 (与IO无关利用协程实现的一个效果) #5 线程池开启任务 如何提交任务 获取返回值
'''
from concurrent.futures import ThreadPoolExecutor #这个模块开启线程池
def func(arg):
return arg*20
tp = ThreadPoolExecutor(5)
ret_l = []
for i in range(100):
ret = tp.submit(func,i) #这个是一个对象
ret_l.append(ret)
for r in ret_l :
print(r.result()) #打印
'''
#二
'''
from concurrent.futures import ThreadPoolExecutor #这个模块开启线程池
def func(arg):
return arg*20
tp = ThreadPoolExecutor(5)
ret = tp.map(func,range(100))
for r in ret :
print(r) # 没有返回值 直接打印 '''
#协程复习:
#数据是否安全 : 绝对安全
# 用户级别的 只能在代码上做 没法 swithch a+=1 swithch 没有把a+=1 分开
a = 1
def func1():
global a
a+= 1
def func2():
global a
a+=1
import dis dis.dis(func1)
dis.dis(func2) #和线程的关系
#本质上是一条线程
# gevent 模块
#g1 = spawn(协程函数,参数)
#g1.join #主程序里不遇到阻塞,不切到子程序里(一个协程) start没有用不执行
# gevent.joinall(iterable([g1]))
#monkey.patch_all() # greenlet switch
# 并没有减少IO操作 '''
def fun1():
start
sleep # 其实是自己实现了一个sleep,而没有用time的
end
def fun2():
begin
sleep1
finish
'''
# socket 底层就是用thread实现的 # 举一反三 做了一个 想象把他换成别的情境
# 问题
# 协程用的好 比线程的效率要好的多
# 协程的底层 IO切换 是 time
# 先把懂了的整理出来 再弄不懂得

2

#day 1 数据库的介绍安装 命令
#day 2 数据库的表操作
#day 3 数据库的数据操作,查询(单表\多表) 一天 ftp这几天 要做完
#day 4 查询和其它内容的拾遗
# day 5 索引原理 # 数据库在开发的过程中占据着什么样的位置?
#在整个项目中又有什么意义? # 我们把数据存储在文件里 (把数据永远存下来)
#写 write
#读 read
# 改 读-》写->删->改-》
# 数据库:(意义)
# 能够更加简单的 使用 存储在文件中的数据
# 查 一行数据 从userinfo 条件 id = 10 或者 id = 20
#简单 比那一行 要简单
#不止读写改 还优化了效率(?为什么 没听清 not listened)
# 能够更好地解决并发问题
#买票问题 你是为你的用户服务的 但是对于 数据库 你也是服务端
#python 中到处都是相对论
#自带的并发 不用自己写server
# 数据的统一问题 # 1,alex,alex3714 #一行内容就是一条数据
# 2,python,19800,6,months # 一条不同的数据 # 数据库 DataBase 简称DB
# 存储数据的地方, 我们把所有的数据都存储在一个固定的地方,那么这个地方就是数据库 #数据库管理系统 DBMS
#软件 需要我们安装一下
#能够帮助我们更好的管理
#和使用存储在硬盘上的数据
#操作系统
#硬盘上存储着数据 # 数据库 服务器
#什么是服务器 : 本质上就是一条计算机 (对外提供服务)
#当一台计算机上安装了某个人软件能够对外提供服务的时候,那么这台机器就成为服务器
#数据库服务器
#当这台机器上安装的服务是一个数据库的server ,就得到了一个。。。。 #数据库管理软件:管理-数据库
# 数据库管理员DBA
# (删库的人 有权限。。。)
#专门帮我们管理数据库 并且优化数据库的工作人员
# 数据库 技术的发展
#纸 上表格
#excel
#软件 批处理 软件:(把你频繁的要做的变成机器去做了) # mysql 就是一个DBMS(能够管理硬盘上数据的一个软件)
# 通过固定的简单的指令 帮助我们完成从文件中查找对应数据的软件
#mysql不好用,自己写,程序员的责任 好用就算了 不想用别的找不到缺点
#软件那个没有缺点,就像人一样,一秒变笨,改错则少
#无知才会求知 有错才会改错
#笨才会求聪明
#oracle 也是一个DBMS # 数据库 管理系统的作用
#关系型数据库 (mysql\oracle\sql server(微软里的底层服务) \sqllite)
#(关系比较紧) # 这几个用法都差不多 都是传上去 拉下来 不同的相同的
# (每个每个都对应 肯定慢)
#id name age phone_num
#是有关系的 彼此之间
#知道了一个人的名字能不能获取到他的年龄,
#知道了一个人的电话号码,能不能获取到姓名 #非关系型数据库 (redis\ mongodb)
#既可以完成通信也可以。。。 mon智能机器人(选修第四个)轻量级
#(效率高 1对多 )
#key : value key---> value 只知道value找不到key
#只有一个找所有 # mysql 开源的软件 -小公司 各种互联网公司(二次开发之后)
#开源 可能有的漏洞 被人操作了
#很多地方不如oracle 严谨
#金融公司 不会使用mysql存储数据的 。。。数据库被泄露了 只就是一个数字了。。。
#oracle 付费的
#金融行业(绝对安全)
#国企事业单位
#sql server 在学校里教学使用的

传的话 可能会出错,不要相信任何人的软件 从官网上安装最安全

以后进公司

3员工系统

        #写一个员工管理软件

#1,alex,38,1233333333,过气网红讲师
#2,wusir,74,1388888888,python讲师
# 查name,id 从 userinfo 条件 age = 83
# 查number, 从 userinfo 条件 name = 'wusir' # 自己去处理文件 很复杂?

下午

c://>mysqld install      #mysqld.exe install   #要安装mysql的server端

c://>net start mysql   #开启mysql  #相同的   net stop mysql 结束mysql  #重启

        #启动的是server端。。。(第一次默认之后一直开启的状态(减少重复))

c://> mysql -uroot -p   #    mysql -uroot  #没有密码的情况下用root用户登录

        #启动的是client端。。。

password:   # 输入回车    #默认没密码

#测试一下配置文件生效了没有

mysql>select user();查看当前用户

mysql>show variables like '%charac%'    #  输出 是utf-8什么的

exit    #退出

;        # 结束符

环境变量  也是变量。。。

就像是全局变量

只要mysql不是内部或外部命令,也不是可运行的程序

说明没有设置  不是全局的

数据库的安装和卸载

# 问题
# 1. D:\mysql\mysql-5.6.43-winx64安装目录中不能有空格和中文
# 2. my.ini文件是不是utf-8
# 3. 配置文件里的每一个路径的最后 是不是有看不见的空格
# 4. 文件的名 my.ini
# 5. 安装包 # 卸载
# D:\mysql\mysql-5.6.43-winx64\mysqld remove 移出服务
# 把mysql整个文件都删掉\环境变量也删掉
# 重启电脑 # 最后的两招
# 1.换一个目录装
# 2.vc运行库 # 一堆命令
# 什么是环境变量?
# 当我们执行一个系统中的可执行文件的时候
# 例如 mysql.exe或者 mysqld.exe或者python.exe
# 如果我们不配环境变量,
# 那么就需要进入mysql.exe所在的目录去执行
# 或者带着这个文件的绝对路径去执行
# 我们经常要执行这些文件
# 所以把文件的路径添加到环境变量中
# 就可直接输入文件名来执行程序了
# mysqld install
# mysqld.exe install 要安装mysql的server端
# net start mysql 启动server端
# mysql -uroot -p 启动client端 # 重启server
# net stop mysql
# net start mysql # client端的启动
# c://>mysql -uroot 表示没有密码的情况下用root用户登录
# c://>mysql -uroot -p 表示使用密码登录
# Enter password:输入密码,如果没有密码直接回车 # mysql > select user(); 查看当前用户
# set password = password('123');给当前用户设置密码 # 查看当前的所有数据库
# mysql > show databases; # root用户在mysql当中相当于管理员用户
# 其他的程序员想要使用数据库来存储项目数据,不能给他权限最高的管理员用户 # 可以创建用户 并且给用户授权
# create user 'eva@192.168.16.%';
# create user 'eva@192.168.16.%' identified by '123'; # 既可以给一个已经存在的用户授权,也可以给一个不存在的用户创建并授权
# grant 权利 on 数据库名.表名 to '用户名@ip地址'
# grant 权利 on 数据库名.表名 to '用户名@ip地址' identified by '123';
# 权利 : SELECT INSERT UPDATE DELETE ALL # 创建一个数据库 s20_day1
# create database s20_day1; # 创建一个stu用户 密码是123 ip地址是192.168.16网段的所有机器
# 能对这个数据s20_day1做增删改查的所有操作
# grant all on s20_day1.* to 'stu@192.168.16.%' identified by '123'; # 192.168.16.13
# mysql -ustu -h192.168.16.13 -p
# # grant all on s20_day1.* to 'stu'@'192.168.16.%' identified by '123';
# 用户名 密码 ip地址
# mysql -u用户名 -hip地址 -p
# 密码 # ddl语言
# 文件夹(数据库)的增删改查
# 创建数据库
# create database 数据库名;
# 使用数据库
# use 库名;
# 查看数据库下有哪些表
# show tables; # 表的增删改查
# 创建表
# create table 表名(字段名 数据类型(长度),字段名2 数据类型(长度),..)
# 查看表结构
# desc 表名;
# 修改表
# alter table t1 change name username char(12);
# 删除表
# drop table t1; # dml语言
# 数据的增删改查
# 增加
# insert into 表名 values (值1,值2,...); 插入一条数据
# insert into 表名 values (值1,值2,...),(值1,值2,...),(值1,值2,...); 插入多条数据 # 查看数据
# select * from 表名; # 修改数据
# update 表 set 字段名=值 where 条件; # 删除数据
# delete from 表 where 条件;

4yue 22的更多相关文章

  1. CENTOS 6.5 平台离线编译安装 Mysql5.6.22

    一.下载源码包 http://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.22.tar.gz 二.准备工作 卸载之前本机自带的MYSQL 安装 cmake,编 ...

  2. EC笔记:第4部分:22、所有成员都应该是private的

    EC笔记:第4部分:22.所有成员都应该是private的 更简单的访问 用户不用记得什么时候该带上括号,什么时候不用带上括号(因为很确定的就要带上括号) 访问限制 对于public的成员变量,我们可 ...

  3. Hadoop学习笔记—22.Hadoop2.x环境搭建与配置

    自从2015年花了2个多月时间把Hadoop1.x的学习教程学习了一遍,对Hadoop这个神奇的小象有了一个初步的了解,还对每次学习的内容进行了总结,也形成了我的一个博文系列<Hadoop学习笔 ...

  4. 在同一个硬盘上安装多个 Linux 发行版及 Fedora 21 、Fedora 22 初体验

    在同一个硬盘上安装多个 Linux 发行版 以前对多个 Linux 发行版的折腾主要是在虚拟机上完成.我的桌面电脑性能比较强大,玩玩虚拟机没啥问题,但是笔记本电脑就不行了.要在我的笔记本电脑上折腾多个 ...

  5. Fedora 22中的Services and Daemons

    Introduction Maintaining security on your system is extremely important, and one approach for this t ...

  6. Fedora 22中的RPM软件包管理工具

    Introduction The RPM Package Manager (RPM) is an open packaging system that runs on Fedora as well a ...

  7. Fedora 22中的用户和用户组管理

    The control of users and groups is a core element of Fedora system administration. This chapter expl ...

  8. Fedora 22中的日期和时间配置

    Introduction Modern operating systems distinguish between the following two types of clocks: A real- ...

  9. Fedora 22中的DNF软件包管理工具

    Introduction DNF is the The Fedora Project package manager that is able to query for information abo ...

随机推荐

  1. cent os安装filebeat

    先贴一下官方文档https://www.elastic.co/guide/en/beats/filebeat/6.6/filebeat-installation.html 我本次使用rpm的方式安装, ...

  2. py2neo的使用(转)

    转自:https://blog.csdn.net/sinat_26917383/article/details/79901207#24-%E7%B1%BB%E4%BC%BCset%E7%9A%84%E ...

  3. Jmeter+badboy压力测试总结

    流程:badboy导出Jmeter压测脚本 -> Jmeter进行压力测试 软件下载地址: badboy:http://www.badboy.com.au/ Jmeter:http://jmet ...

  4. html页面通过http访问mysql数据库中的内容,实现用户登录的功能

    需求: 通过html编写用户登录页面,页面内容包括用户名.密码和登录按钮,点击登录后访问login.php文件,使用按钮默认的submit提交用户名和密码,在login.php中访问mysql数据库, ...

  5. vue实例

    <!--需求: 背景图片,进度条,减和重置按钮 进度条填满红色,值为100%,点击减时,进度条依次减十,减到0时换一张背景图片,减按钮消失,点击重置按钮时,进度条重新填满红色-->效果图: ...

  6. Visual Studio 注释与取消注释快捷键

    注释:        先CTRL+K,然后CTRL+C 取消注释: 先CTRL+K,然后CTRL+U

  7. Codeforces Round #436 E. Fire(背包dp+输出路径)

    题意:失火了,有n个物品,每个物品有价值pi,必须在时间di前(小于di)被救,否则就要被烧毁.救某个物 品需要时间ti,问最多救回多少价值的物品,并输出救物品的顺序. Examples Input ...

  8. SpringCloud-day09-Feign与Hystrix整合

    8.5.Feign 与 Hystrix整合 服务熔断服务降级彻底解耦 前面的代码,用@HystrixCommand fallbackMethod是很不好的,因为和业务代码耦合度太高,不利于维护,所以需 ...

  9. Game Engine Architecture 8

    [Game Engine Architecture 8] 1.Differences across Operating Systems • UNIX uses a forward slash (/) ...

  10. docker学习-lnmp+redis之搭建mysql容器服务

    一. 前期准备工作,创建配置文件目录,log文件目录,数据库DATA和WEB站点目录[root@T1 ~]# mkdir -p /lnmp/conf/{mysql,nginx,php} /lnmp/l ...