Table of Contents
# 1.复习内容
# 2.灵感代办
* ## linux文件目录作用
* /media 是媒体设备,U盘光驱,设备挂载在目录下
* /mnt让用户临时挂载系统,比如光驱
* /opt 应该是option 一些软件安装在其中
* /proc 是虚拟目录,映射系统的一些信息
* /sbin是Super User,系统管理员的程序
* /usr 重要目录,用于的应用程序 类似program files
* /var 存放不断扩充的的文件 比如日志
* /bin 存放的是最经常使用的命令
* /boot 启动Linux的一些核心文件,镜像连接
* /dev linux的外部设备
* /etc 系统管理的配置文件都在其中
* /lib 系统的动态链接库 类似windows 的dll
* /lost+found 一般是空的,非法关机会存放一些文件
* https://www.runoob.com/linux/linux-system-contents.html
* ## 书单整理
* 财经类
* 在股市遇见你
* 滚雪球
* 穷查理宝典
* 投资哲学-保守主义的指挥
* 金融的逻辑
* 历史类:明朝那些事
* 其他:
* 思考快与慢
* 社会心理学
* 心理学与生活
* 定位
* 细节
* 国富论
* 个体化
* 定力
* 文案
* 文案创作与完全手册
* 一个广告人的自白
* 设计
* 马上学好设计
* 设计配色原理
* 让创意更有粘性
* 产品
* 上瘾
* 用户体验要素
* 人人都是产品经理
* 启示录
* 管理
* 奈飞的文化手册
* 卓有成效的管理者
* 战略节奏
* 社交
* 超级聊天术
* 认识自我
* 如何衡量你的人生
* 成功心理学
* 做出好决定
* 习惯的力量
* 自控力
* 伯恩斯新情绪疗法
* 搞定1-无压力的艺术
* **精力管理**
* **拆出你的沟通力**
* 沟通力的艺术
* 非暴力沟通
* 商业类
* 影响力
* 逆袭销售
* 浪潮之巅
* 洞见
# 3.学习内容
* ### mysql四大数据类型
* #### 数值类型
* int smallint bigint tinyint float(m,n) double decimal
* #### 字符类型
* char() varchar() text longtext blob longblob
* 数据库里面一般不存储视频之类的,都存一个地址
* 固定长度就用定长varchar(10),char(10)
* ### 枚举类型
* enum,set
* enum(1,2,3,4,5) 只能选其中一个
* 一个是单选,一个是多选,只能从其中选一个
* #### 日期时间类型
* date time year datetime timestamp
* datetime **timestamp** 都是很常用的,
* timestamp默认返回当前系统时间
* #### 日期时间函数
* NOW()查看现在的世界
* CURDATE() 当前年月日
* CURTIME()
* YEAR(字段名)
* TIME(字段名)
* DATE(字段名)
* #### <span style="color:red;">日期时间运算(笔试题重要)</span>
* select * from 表名 where 字段名 运算符(NOW()-interval 间隔)
* **间隔单位: 1 day | 3month | 2 year**
* <span style="color:red;">-interval是一个语法,加上之后就可以让时间和间隔单位做运算</span>
* select * from table where time > (NOW() -interval YEAR(1))
* ### Mysql运算符
* #### 数值比较
* \> >= < <= = !=
* 数值不可以连续比较 2<id<3
* #### 逻辑比较
* and or
* #### 范围内比较
* <span style="color:red;">between 值1 and 值2 in() 、not()</span>
* #### 模糊比较
* where 字段 like 表达式 “”%|_”
* %代表0到多个
* _代表一个
* where 字段 regex ””
* #### 空值判断
* is Null \is Not NULL
* 查询为空值的信息 ,需要用is ,用==查询不出来
* ### 查询
* #### order by
* 给查询结果进行排序,永远放在倒数第二,倒是第一是limit
* asc 升序 desc 降序
* #### limit
* 限制显示查询记录的条数(永远放在倒数第一)
* limit n 显示前n条
* <span style="color:red;">limit m,n 从m+1开始,显示n,显示n条</span>
* limit可以分页,每页显示10条,显示第六页
* ### Mysql普通查询
1. ### mysql语句执行顺序
1. where …
2. group by …、
3. select … 聚合函数 from 表名
4. having ..
5. order by .. 永远倒数第二
6. limit 永远倒数第一
2. ### 聚合函数(铁三角)
1. 铁三角 : group by having 聚合函数
2. max(),min(),avg(),count(),sum()
3. ### group by语句
1. 一样的就是一组
2. group by columnName
3. 要把列聚合处理(group by后面的已经去重)
4. ### having语句
1. 对分组聚合后的结果再次筛选
2. having一般都和group by 结合进行使用
3. where后面只能跟实际存在的值(字段)做判断
4. having可以操作聚合函数后的值(判断运算)
5. ### distinct语句
1. 使用distinct如果from不止一个字段,那么这些字段的组合才是去重标准(name,age)两个都相同,才去重
2. 使用distinct,**后面的字段就**不能使用聚合函数
3. 使用组合count(distinct name) 去重之后的数量
6. ### 查询表记录时候做数学运算
1. 在查询的时候就可以做计算
2. 在原有记录上更新
1. update sanguo set attack =attack*2 where country=‘蜀国’;
* ## 索引概述
* ### 索引概述
1. 如果没有索引,全是从头查到尾,非常慢
2. 定义:对数据库一列多列的排序(Btree方式 二分查找)
3. 索引的缺点:耗费资源,耗费空间
4. 表中的数据更新时,索引也在自动改变,降低数据维护速度
* ### 索引分类
* #### 索引创建在哪个字段?
* 经常用来查询的字段
* 经常用来where条件判断的字段
* 经常用来做order by的字段
* #### 普通(MUl) and 唯一 (UNI)
* ##### 使用:
* 可以设置多个字段
* 主键只可以选一个字段使用
* ##### 普通索引:
* 字段无约束(可重复,为空),KEY标志位MUL
* ##### 唯一索引:
* 字段值不能重复,可以为空,KEY为UNI
* #### 创建普通索引and唯一索引
* ##### 新建表时候创建
创建表的时候创建,在语句后添加
* index(字段名) 多个字段需要重复写多次
* unique(字段名) 多个字段需要重复写多次
* ##### 已有表中创建
* create [unique] index 索引名 on 表名(字段名)
* ##### 查看索引
* desc 表名;–>KEY标志
* show index from 表名\G
* \G就是分组显示
* #### 删除索引
* drop index 索引名 on 表名;
* #### 主键(PRI)and自增长(auto_increment)
* #### 使用规则
* 表中只能有一个主键
* 主键有约束:不能重复不能为null
* KEY的标志:PRI
* 通常主键都是id字段,能唯一锁定一条记录
* #### 创建主键
* id int primary key auto_increment;
* 也可以跟在创建语句的后面primary key(id)(括号里)
* 可以在创建语句后(括号外)跟着auto_increment=1000是auto的初始值
* #### 已有表加主键
* alter table 表名 add primary key(id)
* #### 已有表操作自增长属性
* 添加自增长属性
* alter table 表名 modify id int auto_increment
* 重新制定起始值
* alter table 表名 auto_increment=2000
* #### 删除主键
* 删除自增长属性 modify
* 删除主键索引:(要先删除自增长)alter table 表名 drop primary key;
# 4.扩展延伸知识
* ## msyql常用函数
* https://juejin.im/post/5db28dec5188252dcf2f04a3
* ## JavaScript预编译
* 预编译就是解决函数执行顺序
* ### typeof() 有一个特殊的点
* typeof()包裹的 ,如果没定义不保存,undefined
* ### null的特殊点
* null是为了对象占位,所以typeof(null) 反对的是对象
* ### JavaScript运算符的优先级
* ### 记忆力增强
* 多读,多看,多记,形成质变
* ### mysql数据库一定要注意
* commit()
* close()
* ### pymysql批量插入
* 应该使用executemany()
* 可以插入大量的数据,只用一个io请求,效率很高
* ### 查看mysql里面的默认变量
* show variables ;
* set variables; 用set可以设置变量的值
* 可以使用 like 模糊查询
* ### mysql中用*的缺点
* 所有索引都会失效
* ### mysql语句执行时间的检测
* 1.开启 set profiling = 1
* 2.执行sql
* 3.查看 show p rofiles
* ### mysql语句desc的作用
* 查看表结构
* ### 创建mysql中的反引号
* mysql中反引号是分辨关键字与列名的,建议加上
* ### 创建唯一索引的注意(Unique)
* 创建唯一索引的时候需要加index
* create unique index 索引名 on 表名(字段名)
* #### mysql alter使用总结
* ![](https://raw.githubusercontent.com/wangjieares/PicGo/master/20200422191235.png)
# 5.知识内容个人梳理
# 6.今天都复习了之前的什么内容