第一部分:连接
第一:LEFT JOIN 关键字语法(左连接)
SELECT column_name(s)
FROM table_name1
LEFT JOIN table_name2
ON table_name1.column_name=table_name2.column_name
第二:左连接(LEFT JOIN)实例
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
LEFT JOIN Orders
ON Persons.Id_P=Orders.Id_P
ORDER BY Persons.LastName
第三:RIGHT JOIN 关键字语法
SELECT column_name(s)
FROM table_name1
RIGHT JOIN table_name2
ON table_name1.column_name=table_name2.column_name
第四:右连接(RIGHT JOIN)实例
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
RIGHT JOIN Orders
ON Persons.Id_P=Orders.Id_P
ORDER BY Persons.LastName
第五:SQL INNER JOIN 关键字
SELECT column_name(s)
FROM table_name1
INNER JOIN table_name2
ON table_name1.column_name=table_name2.column_name
第六:内连接(INNER JOIN)实例
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
INNER JOIN Orders
ON Persons.Id_P=Orders.Id_P
ORDER BY Persons.LastName
第七:外连接
DROP VIEW if EXISTS v_selectall;
CREATE VIEW v_selectall
AS
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
LEFT JOIN Orders
ON Persons.Id_P=Orders.Id_P
UNION
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
RIGHT JOIN Orders
ON Persons.Id_P=Orders.Id_P;
第二部分:触法器
创建触发器
在MySQL中,创建触发器语法如下:
CREATE TRIGGER trigger_name
trigger_time
trigger_event ON tbl_name
FOR EACH ROW
trigger_stmt
其中:
trigger_name:标识触发器名称,用户自行指定;
trigger_time:标识触发时机,取值为 BEFORE 或 AFTER;
trigger_event:标识触发事件,取值为 INSERT、UPDATE 或 DELETE;
tbl_name:标识建立触发器的表名,即在哪张表上建立触发器;
trigger_stmt:触发器程序体,可以是一句SQL语句,或者用 BEGIN 和 END 包含的多条语句。
第一:语法
1.建立触法器:CREATE TRIGGER trigger_name
2.触发的时机:BEFORE 或 AFTER
3.标识触发事件 INSERT、UPDATE 或 DELETE;
4.建立触发器的表名 ON
5.触发器程序体 FOR EACH ROW
第二:实例
实例一:
DROP TRIGGER IF EXISTS t_op;
CREATE TRIGGER t_op
AFTER INSERT ON p_orders
FOR EACH ROW
begin
update p_product set pro_num=pro_num-new.orders_num where pro_id=new.pro_id;
end;
insert into p_orders(pro_id,orders_num) values(1,5);
SELECT * FROM p_product;
SELECT * FROM p_orders;
实例二:
DROP TRIGGER IF EXISTS t_opold;
CREATE TRIGGER t_opold
BEFORE DELETE ON p_orders
FOR EACH ROW
begin
update p_product set pro_num=pro_num+old.orders_num where pro_id=old.pro_id;
end;
delete from p_orders where orders_id=3;
SELECT * FROM p_product;
SELECT * FROM p_orders;
总结:以上是学习mysql连接与触法器的实例教程,在项目的学习过程中注重实用性,轻理论性对刚入门的新手来说是很有帮助。
本文通过实例分析了mysql存储过程入门要点(PHP开发、web前端、UI设计、VR开发专业培训机构-v客IT学院版权所有,转载请注明出处,谢谢合作!)