卧薪尝胆,三千越甲可吞吴。
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后执行。