摘要:
23.1 触发器 MySQL语句在需要时被执行,存储过程也是如此。但是,如果你想要某条语句在事件发生时自动执行,怎么办呢?例如: 每当增加一个顾客到某个数据库表时,都检查其电话号码格式是否正确,州的缩写是否为大写 每当订购一个产品时,都从库存数量中减去订购的数量 无论何时删除一行,都在某个存档表中保 阅读全文
摘要:
22.1 游标 MySQL检索操作返回一组称为结果集的行。这组返回的行都是与SQL语句相匹配的行(零行或多行)。使用简单的select语句,例如,没有办法得到第一行、下一行或前10行,也不存在每次一行地处理所有行的简单方法。 有时,需要在检索出来的行中前进或后退一行或多行。这就是使用游标的原因。游标 阅读全文
摘要:
21.1 存储过程 迄今为止,使用的大多数SQL语句都是针对一个或多个表的单条语句。并非所有操作都这么简单,经常会有一个完整的操作需要多条语句才能完成。例如,考虑以下的情形。 为了处理订单,需要核对以保证库存中有相应的物品。 如果库存有物品,这些物品需要预定以便不将它们再卖给别人,并且要减少可用的物 阅读全文
摘要:
20.1 视图 视图是虚拟的表。与包含数据的表不一样,视图只包含使用时动态检索数据的查询。 理解视图最好的方法是看一个例子: 此查询用来检索订购了某个特定产品的客户。任何需要这个数据的人都必须理解相关表的结构,并且知道如何创建 查询和对表进行联结。为了检索其他产品的相同数据,必须修改最后的where 阅读全文
摘要:
19.1 创建表 MySQL不仅用于表数据操纵,而且还可以用来执行数据库和表的所有操作,包括表本身的创建和处理。 一般有两种创建表的方法: 使用具有交互式创建和管理表的工具 表也可以直接用MySQL语句操纵 __19.1.1 表创建基础__ 为利用create table创建表,必须给出下列信息: 阅读全文