MySQL|表的复制、存储过程、触发器、视图、函数、数据库权限

本文介绍了MySQL中的表复制方法,包括整张表、部分字段的复制,以及如何将自查询结果复制到表格。接着详细讲解了存储过程,包括定义、语法、参数、调用、删除以及带有逻辑和循环的存储过程。同时阐述了触发器的概念,提供了不同类型的触发器示例。最后提到了视图和函数的相关内容。
摘要由CSDN通过智能技术生成

1.表的复制

1.1 复制整张表

格式:create table 表名 as select * from 另一张表 where 1=1;

1.2 复制字段

格式:create table 表名 as select * from 另一张表 where 1=2;

1.3 复制部分字段

格式:create table 表名 as select 表名.字段名,表名.字段名2 from 另一张表 where 1=2;

1.4 将自查询结果复制到表格中

格式:create table 表名 as 子查询

2.存储过程

2.1 定义

存储过程是数据库中的一个对象,存储在服务端,用来封装多条SQL语句且带有逻辑性,可以实现一个功能,由于他在创建时,就已经对SQL进行了编译,所以执行效率高,而且可以重复调用,类似与我们Java中的方法

2.2 语法

DELIMITER $$
CREATE
    PROCEDURE `performance_schema`.`myTestPro`()
    BEGIN

    END$$
DELIMITER ;
  • 创建存储过程需要管理员分配权限
  • END $$ : 用 $ $ 表示mysql语句结束,过程结束后肯定会有一句delimiter; 表示恢复成默认状态。
  • delimiter是mysql定义结束标记的,在mysql客户端中结束标记默认是分号;

2.3 参数

  • in:输入参数
  • out:输出参数
  • inout:输入输出参数

示例:

DELIMITER $$

USE `mysql3`$$

DROP PROCEDURE IF EXISTS `mypro`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `mypro`(IN num INT,OUT r INT)
BEGIN
    DELETE FROM emp WHERE empno =num;
    SELECT COUNT(*) FROM emp INTO r;
    END$$

DELIMITER ;

2.4 调用存储过程 call

语法:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值