|
第05天
1.主题:系统学习mysql
《MySQL必知必会》—Ben Forta著
2.摘要
如果正在导入数据到一个新表, 此时不应该启用FULLTEXT索引。应该首先导入所有数据,然 后再修改表,定义FULLTEXT。这样有助于更快地导入数据(而 且使索引数据的总时间小于在导入每行时分别进行索引所需 的总时间)。
update tester set address = 'shanghai' where name = 'zippo’;配合where使用update更新某行记录;
update tester set sex = null;删除某列记录,即全部置空;
delete from tester where address = 'shanghai’;配合where使用delete删除某行记录;
select last_insert_id();返回最后一个AUTO_INCREMENT值 ;
I n n o D B 是 一 个 可 靠 的 事 务 处 理 引 擎 , 它 不 支 持 全 文 本搜索;
MyISAM是一个性能极高的引擎,它支持全文本搜索,但不支持事务处理。
使用insert select 语句将旧表复制到新表;
alter table test add phone char(20);用alter table添加一列,必须指明其数据类型;
alter table test drop column phone;用alter table drop column删除一列;
rename table test to customers;对表的重命名;
drop table test;完全删除表;
视图的两大作用:
1.利用视图简化复杂的联结;
2.用视图重新格式化检索出的数据。
视图的固定语句:
create view 名字 as 后边加正常的select语句就行了!
一般,应该将视图用于检索(SELECT语句) 而不用于更新(INSERT、UPDATE和DELETE)。
使用存储过程有3个主要的好处,即简单、安全、高性能。 显然,它们都很重要。
DELIMITER //告诉命令行实用程序使用//作为新的语 句结束分隔符 ;
CALL productpricing();执行刚创建的存储过程并显示返回 的结果。因为存储过程实际上是一种函数,所以存储过程名后 需要有()符号 ;
它们是一系列 SELECT语句,用来检索值,然后保存到相应的变量(通过指定INTO关键 字)。
所有MySQL变量都必须以@开始。
游标主要用于交互式应用,其中用户需要滚动屏幕上的数据,并对 数据进行浏览或做出更改。
触发器是MySQL响应以下任意语句而 自动执行的一条MySQL语句(或位于BEGIN和END语句之间的一组语 句):
delete,insert,update
其他语句不支持触发器;
每个表最多支持6个触发器(每条INSERT、UPDATE 和DELETE的之前和之后)。单一触发器不能与多个事件或多个表关联,所 以,如果你需要一个对INSERT和UPDATE操作执行的触发器,则应该定义 两个触发器。
事务处理是一种 机制,用来管理必须成批执行的MySQL操作,以保证数据库不包含不完 整的操作结果。利用事务处理,可以保证一组操作不会中途停止,它们 或者作为整体执行,或者完全不执行(除非明确指示)。如果没有错误发 生,整组语句提交给(写到)数据库表。如果发生错误,则进行回退(撤 销)以恢复数据库到某个已知且安全的状态。
事务(transaction)指一组SQL语句;
回退(rollback)指撤销指定SQL语句的过程;
提交(commit)指将未存储的SQL语句结果写入数据库表;
保留点(savepoint)指事务处理中设置的临时占位符(place-
holder),你可以对它发布回退(与回退整个事务处理不同)。
管理事务处理的关键在于将SQL语句组分解为逻辑块,并明确规定数 据何时应该回退,何时不应该回退。
3.心得感悟
A.数据库引擎要搞懂;
B.理解视图的最好方法是看一个例子。 还是要多举例子!
C.视图的功能其实就是预定义函数,封装select语句块,简化代码;
D.触发器的案例太少;
4.时间统计
昨日阅读5小时,累计270小时
|