php之数据库的连接与触发器(V客学院知识分享)



第一部分:连接


第一: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学院版权所有,转载请注明出处,谢谢合作!)


猜你喜欢

转载自blog.csdn.net/guanshihua/article/details/80498625
今日推荐