触发器总结:
1)触发对象:
同一张表或者两张表
2)触发时间:
After
Before
3)触发事件:
Insert: NEW.字段名
Delete: OLD.字段名
Update: NEW .字段名 OLD.字段名
执行步骤:
Mysql>insert into t1 values(5); //客户端
//先发送到服务器端,判断,
Mysql>create trigger t1_insert before insert(事件1) on t1 for each row
Begin
……
Set @x=2; ——(事件2)
……
End
After和before针对的是事件1和事件2到底哪个先执行
如果为after则表示事件1先执行
如果为before则表示事件2先执行
针对on关键字后的表执行事件1必须先输入---发送给服务器端去判断
后触发时执行顺序:
Mysql>select @x;
Mysql>insert into t1 values(10);
发送到服务器端,判断---执行insert,后执行(块begin..end)set @x=2;
Mysql>select @x;
NEW.字段名----表示on关键字后的表(t1)中字段
先触发执行步骤:
Mysql>insert into t1 values(15);//客户端写该SQL语句
//先发送到服务器端,判断---(块begin..end)set @x=2,执行insert;
数据类型(整型、浮点、字符串、位(布尔)、文本、时间日期、枚举(字符串对象))
常见sql语句(insert delete update select alter create等)
常见函数(数学、字符串、聚合、时间日期、if()等)
视图、关联(子查询等)
存储过程(流程控制结构、变量(用户自定义、局部变量、系统信息变量)等)
触发器
XML定义:
代表extensible markup language(可扩展的标记语言),xml被设计用来传输或存储数据的,xml是一套定义语言标记的规则。
与HTML有类似之处
特点:
1、 mysql关系型数据库,保存数据使用表格;
2、 xml类似于层次型数据库;
3、 html为了显示内容;
4、 xml标记需要自己去创建,html标记是预定义好的;
5、 xml标记语法严格;
6、 仅仅用来存储数据(与样式无关);
要求:针对没有任何规范(DTD、schema)的情况下
针对没有任何规范(DTD、schema)的情况下
Ø 根元素有且只能有一个;
Ø 标签必须要闭合;
Ø 属性值必须用引号;
Ø 标签名自己指定;
Ø 文档声明前不能有任何输出,包括空格;
DTD(重点)
注意:严格区分大小写;
1、 文件名 *.dtd
2、 规定内容
元素的定义规则;
元素关系的定义规则;
元素可使用的属性;
可使用的实体或符号规则;
语法:
规则声明
规则声明
]>
规则声明:
u 元素:
l :表示空元素
l :表示可以出现任何内容,也可以为空;
l :()表示分组,放置允许出现的子元素,并且严格按照声明顺序来使用;
l :表示可以在该元素的内容里放置文本、CDATA,但是不允许出现 & < > ' ";
l CDATA
文本(任何)
]]>
总结:DTD声明以
和xml文档出现在同一个文件里叫做内部DTD文档;
DTD规范单独存在于一个文件,外部DTD文档
*.dtd
引入
SYSTEM:私有
语法:
PUBLIC:公有
语法
“注册//组织//类型 标签//语言”
注册:是否由国际标准化组织(ISO)注册;
+:表示是;
-:表示否;
组织:组织名称;
类型:一般是DTD;
标签:公开文本描述,可以带有版本号
语言:EN表示英文,ZH表示中文
u 属性:
u 实体: