-
Drop是完全删除表,包括表结构
-
Truncate是只删除表数据而不删除表结构,不能加WHERE
-
Delete是完全删除表数据,保留表的结构,而且可以加WHERE,只删除一行或者多行
-
处理效率:drop>trustcate>delete
- DDL(Data Definition Language)数据库定义语言
DDL不需要commit. eg. CREATE ALTER DROP TRUNCATE COMMENT RENAME
- DML(Data Manipulation Language)数据操纵语言
DML需要commit. eg. SELECT INSERT UPDATE DELETE MERGE CALL EXPLAIN PLAN LOCK TABLE
- DCL(Data Control Language)数据库控制语言 授权,角色控制等
GRANT 授权, REVOKE 取消授权
- TCL(Transaction Control Language)事务控制语言
SAVEPOINT 设置保存点, ROLLBACK 回滚, SET TRANSACTION
mysql执行顺序是先找from表,然后再where,然后Group by这些,最后Select后的语句。 这道题先找到这个表,再看where后,只把class为英语数学的筛选出来,然后通过学号分组,每个学生的成绩放到一条记录里,英语数学成绩这两个字段便是查找完每个学生的记录后得到的,需要用到sum
1、from 子句组装来自不同数据源的数据; 2、where 子句基于指定的条件对记录行进行筛选; 3、group by 子句将数据划分为多个分组; 4、使用聚集函数进行计算 5、使用 having 子句筛选分组; 6、计算所有的表达式; 7、select 的字段; 8、使用 order by 对结果集进行排序