mysql的学习笔记

61 篇文章 1 订阅
41 篇文章 0 订阅

这篇博客是对我自己的学习的一个记录。
1.如何设计一张表?

  1. 确定需求
  2. 找到对象(明确的实体)
  3. 找到关系
  4. 确定属性
  5. 确定属性类型以及其他越是
  6. 可以有优化的进阶部分
    2.对于表的增删改查没什么可说的,值得注意的是有一个truncate + 表名功能是把表截断,不要在生产环境用。
    如果要在生产环境中修改表的结构,通常会导致短时间内的服务停止,这是不能允许的,所以一般的做法是,先用一个表拷贝现有的旧表,同时修改成想要的结构,最后旧表成为代替表,新表成为旧表,补上缺少的数据,这是一个原子操作。
    create tab new_table to backup ,new_table to old_table
    我目前学的查询包括一下几种
  7. 普通查询
  8. 聚合查询
  9. 连表查询
  10. 子查询
    普通查询用select查询where加上后面语句做条件order by 排序
    聚合查询里面的分组聚合写法为
    select + group BY后面的字段或者聚合函数 FROM 表名 grop BY字段(可以有多个字段)
    注意这里不要搞混Group by和 order by
    还有一个知识点是,having和where都是条件查询但是两个有差别。
    HAVING是在分组聚合的查询结果上继续过滤的
    使用Where子句指定条件时,由于排序之前就对数据进行了过滤
    关于mysql的内置函数
    mysql有很多关于计算的函数,但是因为mysql的效率较差,所以最好让mysql只做储存,不要计算。

连表查询:当没有指定连表条件时,得到的结果数量为两个表的数据的笛卡尔乘积。
连表查询包括以下两种

  • 内联查询:只保留共有部分
  • 外联查询:包括左外联,右外联,全外联(mysql不支持全外联)
    具体例子为
    select …From 表1,表2 where 表1.id = 表2.class_id
    select…From 表1 join 表2 on 表1.id = 表2.class_id where
    select…From 表1 left join 表2 on 表1.id = 表2.class_id where
    (把上面的left改成right就是右外联)
    可以说内联是求交集,外联是求并集。
    子查询:查询结果作为两种情况使用
  • 条件
  • 新的表用来诚信查询。
    注意一点,作为结果二次查询,要起别名才能使用。

这里记一下,查询时mysql面试考察的重点。

小知识点:DML和DDL的区别
DML(Data Manipulation Languag)使用增删改查来修改数据,
如insert,delete,update,select都是DML。
而DDL用来创建和操作表的结构的。
如creat,alter,drop,是隐式提交的,不能rollback.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值