视图包含下列结构是不可以更新的
1:集合运算符 union,union all, intersect,minus
2:distinct关键字
3:group by,order by,connect by,或者start with
4:子查询
5:分组函数
6:需要更新的列不是视图定义的
7:具有连接查询(可以更新键值保存表的数据)
8:违反基表的约束条件;连接视图是指基于多表连接查询创建的视图(一般不容易修改,但通用instead of触发器可以实现修改的功能)
ibatis 中的#与$的区别
1.#是把传入的数据当作字符串,如#user_id_list#传入的是1,2,则sql语句生成是这样,in ('1,2') ,
2.$传入的数据直接生成在sql里,如$user_id_list$传入的是1,2,则sql语句生成是这样,in(1,2).
3.#方式能够很大程度防止sql注入.
4.$方式无法方式sql注入.
5.$方式一般用于传入数据库对象.例如传入表名.
6.一般能用#的就别用$.
DB恢复利用的转储的冗余数据
数据库恢复的基础是利用转储的冗余数据。这些转储的冗余数据
日志文件,数据库后备副本
多表查询
select a.* from T1 a,T2 b没有指定连接条件,会导致笛卡尔积的出现,返回行数等于2张表的行数乘积,返回6行记录
MySQL 主从结构的主数据库中不可能出现以下哪种日志
relay-log中继日志是mysql备库从主库bin-log读取的log
select语句执行顺序
FROM->WHERE->GROUP BY->HAVING->SELECT->ORDER BY