mysql中易混淆知识点

作者: 还有236 | 来源:发表于2016-12-16 15:20 被阅读37次

    卧薪尝胆,三千越甲可吞吴。

    1、date、time、datetime、timestamp 日期数据类型

    date:只包含日期(年 月 日)

    time:只包含时 分 秒

    datetime:包含日期和时分秒,但需要手动录入时间

    timestamp:包含日期和时分秒,默认选择当前系统时间

    2、desc 关键字

    desc  表名   : 表示查看表的信息。

    desc 用在order by后还可以是倒序的意思。例:select * from stu order by age desc;

    3、delete 和 truncate

    delete和truncate都是删除数据(不删表),drop是表和数据都删除。

    truncate:先删除整个表,在创建一个新的空的表,效率快。

    delete:删除数据是一条一条删除的。

    truncate语句是DDL,执行之后自动提交,和事务无关,不能回滚,触发器不会生效,没有备份小心使用。

    delete语句是DML,操作会放到rollback segment中,事务提交之后才生效,如果有相关的触发器,执行的时候会触发。

    4、order by 双重排序

    例:对学生先对英语成绩进行排序,再对数学成绩进行降序排序

    不能使用两个order by

    select * from stu order by english,math desc;

    5、where、group by、having

    where是一个约束声明,使用where来约束数据库中的数据,where是在结果返回之前起作用,where中不能使用聚合函数。

    having是一个过滤声明 ,在查询返回结果集之后对结果进行过滤操作,having中可以使用聚合函数。

    where和group by 和having一起使用时,where的约束条件在group by之前执行,having的过滤条件在group by之后执行,即where先执行,having后执行。

    相关文章

      网友评论

        本文标题:mysql中易混淆知识点

        本文链接:https://www.haomeiwen.com/subject/phpnmttx.html