mysql 存储过程一些知识点

## 指定执行用户
use test
## 若存在先删除,PRO_ADD_COL存储过程名称,可自定义
DROP PROCEDURE IF EXISTS PRO_ADD_COL;
## 修改数据库的结束标签为$$。因为存储过程一般由多条sql语句组成,若不修改,遇到分号就直接执行了
DELIMITER $$
## 创建一个存储过程名为PRO_ADD_COL
CREATE PROCEDURE PRO_ADD_COL()
## 存储过程开始
BEGIN
## 括号中的语句是判断表TP_BUSINESS是否存在。if...then...elseif...then..else。
IF EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = DATABASE()  AND TABLE_NAME = 'TP_BUSINESS') THEN
IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = DATABASE()  AND TABLE_NAME = 'TP_BUSINESS' AND COLUMN_NAME = 'CONTACT_MAN') THEN
## 添加一个字段
ALTER TABLE TP_BUSINESS ADD COLUMN CONTACT_MAN VARCHAR(50) comment '联系人';
ELSEIF not EXISTS(SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_NAME = 'TP_BUSINESS' and COLUMN_name = 'CONTACT_MAN' and TABLE_SCHEMA = DATABASE() and DATA_TYPE = 'varchar') THEN
## 修改一个字段。ps:若修改一个字段的描述需要带上字段类型和长度,避免被修改掉
ALTER TABLE TP_BUSINESS MODIFY COLUMN CONTACT_MAN VARCHAR(50) comment '联系人';
## 结束判断 和if成对
END IF;
## 结束判断
END IF;
## 结束标签,和BEGIN成对。$$表示语句结束
END$$
## 将数据库结束标签修改回来
DELIMITER ;
## 调用存储过程
CALL PRO_ADD_COL();
## 删除存储过程,(按需求添加)
DROP PROCEDURE IF EXISTS PRO_ADD_COL;
##GOGO

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值