2020.4.22 Myqsql Day1

发布于 2020-04-22  12 次阅读


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(字段名)
    • 日期时间运算(笔试题重要)

      • select * from 表名 where 字段名 运算符(NOW()-interval 间隔)
      • 间隔单位: 1 day | 3month | 2 year
      • -interval是一个语法,加上之后就可以让时间和间隔单位做运算
      • select * from table where time > (NOW() -interval YEAR(1))
  • Mysql运算符

    • 数值比较

      • > >= < <= = !=
      • 数值不可以连续比较 2<id<3
    • 逻辑比较

      • and or
    • 范围内比较

      • between 值1 and 值2 in() 、not()
    • 模糊比较

      • where 字段 like 表达式 “”%|_”
        • %代表0到多个
        • _代表一个
      • where 字段 regex ””
    • 空值判断

      • is Null \is Not NULL
      • 查询为空值的信息 ,需要用is ,用==查询不出来
  • 查询

    • order by

      • 给查询结果进行排序,永远放在倒数第二,倒是第一是limit
      • asc 升序 desc 降序
    • limit

      • 限制显示查询记录的条数(永远放在倒数第一)
      • limit n 显示前n条
      • limit m,n 从m+1开始,显示n,显示n条
      • 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常用函数

  • 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使用总结

5.知识内容个人梳理

6.今天都复习了之前的什么内容


Ares个人进阶之路