应用层 6.1概述 6.2客户-服务器方式(C/S)和对等方式(P2P) 6.3动态主机配置协议DHCP 6.4域名系统DNS 6.5文件传输协议FTP 6.6电子邮件 6.7万维网www
Yum配置 yum的安装仓库从 /etc/yum.repo.d/ 中的配置文件中读取
注意:
Base为网络源,Media为挂载的光盘的源,即本地源,yum会先在Base上查找然后在Media上查找(?真是这样也不应该报错才对) 删除base后正常,而且我测试了两次,不管是找着谢进的还是默认的(当然enabled改成了1,我没有验证),均删除base后正常 博客来源:https://www.jianshu.com/p/be9e93bf1b42 修改网络安全策略 关闭防火墙 service iptables stop
修改安全策略为不积极 setenforce
DHCP配置 情境 直球要求你的这台机器作为DHCP服务器来要求你配置 要求客户机能够从你的机器上获取IP地址 步骤 查询dhcp的软件包 rpm -qa | grep dhcp
如果只有一个dhcp-common则说明没有安装
使用yum install dhcp (dhcpd?未验证,我忘记我是用d还是没有d安装的了) 来安装dhcp服务
成功后再用查询命令会有两条结果
复制dhcp的模板文件到对应目录中 注意!dhcp的配置文件为/etc/dhcp/dhcpd.conf,默认内容为空,而sample文件是放在/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample
复制过来然后就能修改了。不做这一步直接service dhcpd start 会失败。然后复制完之后去尝试着启动服务依旧会失败
注意!经过DHCP服务得到的IP地址一定与DHCP主机的IP处于同一段网段
配置文件解析 配置文件大概是这个样子
#这里是配置DNS的全局配置,也可以在subnet中修改对应的配置,把第二个换成题目要求的DNS服务器就可以,这里可以不用管 option domain-name example.org; option domain-name-servers ns1.example.org, ns2.example.org # default和max开头的可以不用管,默认即可 # 不更新DDNS的设定,因为好像没有和DNS联动的需要,默认被注释掉了 # ddns-update-style none; # 忽略DNS服务器的更新功能,默认没有 # ignore client-updates; # 重点是配置这里的子网 # 在subnet这里配置子网网段 # 有一个就可以生效,因此把其他的删掉就行 subnet 10.
目录查询关键字查询关键字之having过滤查询关键字之distinct去重查询关键字之order by排序查询关键字之limit分页查询关键字之regexp正则多表查询思路可视化软件navicat多表查询练习题
查询关键字 查询关键字之having过滤 # 区别 where用在分组之前的筛选 havng用在分组之后的筛选 把where叫做筛选,havng叫做过滤是为了方便区分 # 统计每个部门年龄在28岁以上的员工的平均薪资并且保留平均薪资大于10000的部门 # 1.先获取每个部门年龄在28岁以上的员工的平均薪资 先筛选出28岁以上的员工数据,然后再对数据进行分组 select position,avg(salary) from pythonschool where age>28 group by position; # 2.在过滤出平均薪资大于9000的数据 针对分组之后的数据第二次筛选,需要使用having过滤出平均薪资大于9000的部门 select position,avg(salary) from pythonschool where age>28 group by position having avg(salary) > 9000 ; # 聚合函数起别名,方便在其他地方作为条件使用 select position,avg(salary) as avg_salary from pythonschool where age>28 group by position having avg_salary > 9000 ; 查询关键字之distinct去重 # 去重的前提,数据必须完全相等并且不能带有主键 select distinct department_director,group_concat('编号',id,'姓名',name) from pythonschool group by department_director; 查询关键字之order by排序 # 按照年龄高低排序 select * from pythonschool order by age; # 默认是升序 select * from pythonschool order by age asc; # 升序关键字asc可以省略 select * from pythonschool order by age desc; # 降序 # 先按照年龄降序排序,如年龄相同,再按照薪资降序排序 select * from pythonschool order by age desc,salary desc; # 统计各岗位年龄在25岁以上的员工平均工资,并保留平均工资大于7000的岗位并按照从小到大的顺序排序 select position,avg(salary) as avg_salary from pythonschool where age > 25 group by position having avg_salary > 7000 order by avg_salary asc; 查询关键字之limit分页 # 分页即限制展示条数 # 限制只展示八条数据 select * from pythonschool limit 8; # 分页 select * from pythonschool limit 8,16; # 查询工资最高的三人的详细信息 select * from pythonschool order by salary desc limit 3; 查询关键字之regexp正则 select * from pythonschool where name regexp '^(D|T).
1、拉取镜像 docker pull redis:5.0.9 查看拉去的镜像: docker images 2、创建目录
mkdir -p /opt/redis/conf mkdir -p /opt/redis/data 3、配置文件内容(/opt/redis/conf/redis.conf)
(1)下载:从官网下载:http://download.redis.io/redis-stable/redis.conf
(2)修改启动默认配置
bind 127.0.0.1 #注释掉这部分,这是限制redis只能本地访问 protected-mode no #默认yes,开启保护模式,限制为本地访问 daemonize yes #默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程,改为yes会使配置文件方式启动redis失败 dir ./ #输入本地redis数据库存放文件夹(可选) appendonly yes #redis持久化(可选) 4、启动的脚本
docker run -p 6379:6379 --name redis_5.0.9 -v /opt/redis/conf/redis.conf:/etc/redis/redis.conf -v /opt/redis/data:/data -d redis:5.0.9 redis-server /etc/redis/redis.conf --appendonly yes
目录查询关键字之having过滤查询关键字之distinct去重、查询关键字之order by排序查询关键字之limit分页查询关键字之正则多表查询思路可视化软件之Navicat
查询关键字之having过滤 having与where的功能类似where用于条件筛选数据 多数shiyongyu-整体分组前 having用于分组之后的进一步数据筛选 为了区别与两者 我们通常将where处理数据称为筛选 而将 having称为过滤 过滤案列题: 统计筛选 每个部门(post) 年龄在三十岁以上的员工(age name) 的平均(avg)薪水(salary) 三层筛选准则: 先对.部门的.薪水筛选 在对各部门.年龄进行分组 在对分组后的.数据进行过滤留下我们要的数据 select post,avg(salart) from 表名 where age>30, group by post, having avg(salary) > 10000 ; 本轮所运用的知识点 avg 聚合函数平均值 where 条件判断 group by 分组判断 having过滤数据 补充:可以通过as起别名的方式将集合函数做到快速理解 select post,avg(salary) as avg_salary from emp where age>30 group by post having avg_salary > 10000 ; 查询关键字之distinct去重、 去重的前提 数据必须是一模一样的才可以(如果数据有主键肯定无法去重) 去重的格式:select distinct age from 表名; 等我们学到django orm之后 数据会被封装成对象 那个时候主键很容易被我们忽略 从而导致去重没有效果!
MySQL基础(五) 查询关键字 1.1 --- having过滤 1.2---distinct去重 1.3 ---order by排序 1.4 ---limit分页 1.5 ---regexp正则 多表查询思路 1.1---子查询 1.2---连表操作 可视化软件之Navicat 1.1---下载 1.2---使用 1.3---运行sql文件 查询关键字之having(过滤) having与where的功能是一模一样的 都是对数据进行筛选 # where用在分组之前的筛选 # havng用在分组之后的数据再进行一次针对性的筛选 为了更好的区分 所以将where说成筛选 havng说成过滤 eg: 统计每个部门年龄在30岁以上的员工的平均薪资并且保留平均薪资大于10000的部门 # 1.先获取每个部门年龄在30岁以上的平均薪资(先筛选出30岁以上员工数据,然后再对数据进行分组) select post,avg(salary) from emp where age>30 group by post; # 2.在过滤出平均薪资大于10000的数据(针对分组之后的数据再次筛选,需要使用having而不是where) select post,avg(salary) from emp where age>30 group by post having avg(salary) > 10000; # 3.针对聚合函数,如果还需要在其它地方作为条件使用,可以先起别名 select post,avg(salary) as avg_salary from emp where age>30 group by post having avg_salary > 10000; 查询关键字之distinct(去重) # 去重的前提,数据必须是一模一样的才可以,只要有一个不一样,都不能算是重复的数据(如果数据有主键肯定无法去重) select distinct age from emp; # 在django orm中,数据都会被封装成对象,所以主键很容易被忽略,从而导致去重没有效果 查询关键字之order by(排序) # 1.
1.1 clear()方法 clear() 用于清空字典中所有的 key-value 对,对一个字典执行 clear() 方法之后,该字典就会变成一个空字典。
scores_dict = {'语文': 105, '数学': 140, '英语': 120}print(scores_dict) # 输出 {'语文': 105, '数学': 140, '英语': 120}scores_dict.clear() # 删除字典所有内容print(scores_dict) # 输出{} 1.2 get()方法 get() 方法其实就是根据 key 来获取 value,它相当于方括号语法的增强版,当使用方括号语法访问并不存在的 key 时,字典会引发 KeyError 错误;但如果使用 get() 方法访问不存在的 key,该方法会简单地返回 None,不会导致错误。例如如下代码:
scores_dict = {'语文': 105, '数学': 140, '英语': 120}print(scores_dict.get('历史')) # 输出 Noneprint(scores_dict['历史']) # 报错 KeyError: '历史' 1.3 update()方法 update() 方法可使用一个字典所包含的 key-value 对来更新己有的字典。在执行 update() 方法时,如果被更新的字典中己包含对应的 key-value 对,那么原 value 会被覆盖;如果被更新的字典中不包含对应的 key-value 对,则该 key-value 对被添加进去。例如如下代码:
目录数据建表准备一.查询关键字之having过滤二.查询关键字值distinct去重三.查询关键字值order by排序四.查询关键字之limit分页五.查询关键字之regexp正则六.多表查询1.连表操作有四个关键字七.可视化软件Navicat
数据建表准备 CREATE TABLE emp ( id INT NOT NULL UNIQUE auto_increment, emp_name VARCHAR ( 20 ) NOT NULL, gender enum ( 'male', 'female' ) NOT NULL DEFAULT 'male', age INT ( 3 ) UNSIGNED NOT NULL DEFAULT 28, hire_date date NOT NULL, post VARCHAR ( 50 ), post_comment VARCHAR ( 100 ), salary DOUBLE ( 15, 2 ), office INT, depart_id INT ); INSERT INTO emp ( emp_name, gender, age, hire_date, post, salary, office, depart_id ) VALUES ( 'nick', 'male', 18, '20170301', '老男孩驻上海虹桥最帅', 7300.
有点疑问 openJDK、jdk18、1.8、8有什么区别
其中标准版有很多别名,是我没想到的
TRANSLATE with x English Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creole Persian TRANSLATE with COPY THE URL BELOW Back EMBED THE SNIPPET BELOW IN YOUR SITE Enable collaborative features and customize widget: Bing Webmaster Portal Back
目录查询关键字之having过滤查询关键字之distinct去重查询关键字之order by排序查询关键字之limit分页查询关键字之regexp正则多表查询思路可视化软件之Navicat多表查询练习题
查询关键字之having过滤 having与where的功能是一模一样的,都是对数据进行筛选 where用在分组之前的筛选 havng用在分组之后的筛选 为了更好的区分,所以将where说成筛选,havng说成过滤
# 统计每个部门年龄在30岁以上的员工的平均薪资并且保留平均薪资大于10000的部门 '''编写SQL语句 不要指望着一步到位 边写边看慢慢拼凑''' # 1.先获取每个部门年龄在30岁以上的员工的平均薪资 先筛选出30岁以上的员工数据 然后再对数据进行分组 select post,avg(salary) from emp where age>30 group by post; # 2.在过滤出平均薪资大于10000的数据 针对分组之后的数据再次筛选 需要使用having而不是where select post,avg(salary) from emp where age>30 group by post having avg(salary) > 10000 ; '''针对聚合函数 如果还需要在其他地方作为条件使用 可以先起别名''' select post,avg(salary) as avg_salary from emp where age>30 group by post having avg_salary > 10000 ; 查询关键字之distinct去重 去重的前提 数据必须是一模一样的才可以(如果数据有主键肯定无法去重)
等我们学到django orm之后 数据会被封装成对象 那个时候主键很容易被我们忽略 从而导致去重没有效果!