mysql 存储过程、视图---创建、调用、删除

之前一直用的是Sql Server数据库,最近偶然机会接触到mysql。这里总结了关于mysql 存储过程、视图的“创建、调用、删除”示例

=======================================存储过程==================================

/*创建存储过程*/
DELIMITER $$                                 /*为了避免冲突,首先用"DELIMITER &&"将MySQL的结束符设置为&&*/
USE `DataName`$$                              /*DataName-->数据库名*/
DROP PROCEDURE IF EXISTS `aa`$$                     /*判断存储过程是否存在(存在则删除)*/
CREATE DEFINER=`root`@`%` PROCEDURE `aa`(str_id VARCHAR(34))  /*aa-->存储过程名;str_id VARCHAR(34)-->参数*/
BEGIN
SELECT * FROM tj_archive WHERE id=str_id;                 /*执行的Sql脚本*/
END$$
DELIMITER;                                 /*最后再用"DELIMITER ;"来将结束符恢复成分号*/

/*查看存储过程*/
CALL `aa`(‘D1608220023‘)

/*删除存储过程*/
DROP PROCEDURE `aa`

=======================================视图==================================

-- 创建视图
CREATE VIEW MyView AS
SELECT
CASE sex                -- 适用性别 0:男女通用 1:男 2:女
WHEN sex=‘男‘ THEN 1        -- 适用 男
WHEN sex=‘女‘ THEN 2          -- 适用 女
WHEN sex=‘通用‘ THEN 0       -- 男女通用
END AS XB
FROM MyTable                 -- 表
-- where                    -- 过滤条件

-- 查看视图
-- select * from MyView

时间: 2024-08-14 19:50:32

mysql 存储过程、视图---创建、调用、删除的相关文章

MySQL索引的创建、删除和查看

MySQL索引的创建.删除和查看 此文转自http://blogold.chinaunix.net/u3/93470/showart_2001536.html 1.索引作用 在索引列上,除了上面提到的有序查找之外,数据库利用各种各样的快速定位技术,能够大大提高查询效率.特别是当数据量非常大,查询涉及多个表时,使用索引往往能使查询速度加快成千上万倍. 例如,有3个未索引的表t1.t2.t3,分别只包含列c1.c2.c3,每个表分别含有1000行数据组成,指为1-1000的数值,查找对应值相等行的查

MySQL存储过程定义及调用

#MySQL存储过程 ##最简单的存储过程 DROP PROCEDURE IF EXISTS sp1; CREATE PROCEDURE sp1() COMMENT '最简单的存储过程' SELECT 1; ##调用 CALL sp1 (); ##带输入参数的存储过程 DROP PROCEDURE IF EXISTS sp2; CREATE PROCEDURE sp2(IN p INT) COMMENT '带输入参数的存储过程' SELECT p; ##调用 CALL sp2(1); #带输出参

mysql存储过程和定时调用

1.创建存储过程 1 create procedure proc_name() 2 begin 3 sql; 4 end sql为定时值执行的代码,比如,定时向表里插入当前时间:INSERT into table(times) VALUES(NOW());:然后通过事件调度来定时执行该存储过程. 2.创建触发事件 1 create event if not exists event_name 2 on schedule every 30 second 3 on completion preser

mysql 存储过程的创建

循环插入数据 delimiter $$drop procedure if exists test;create procedure test (num int)begindeclare  i int default 1;while i<=num doinsert into test values (i,concat('test',i));set i=i+1;end while;end $$#concat 信息连接符 测试插入数据 delimiter $$create procedure zy (

MySql存储过程动态创建表并插入数据

最近做的一个项目,数据库用的是MySql,对于MySql不是很熟练,只是会简单的应用,毕竟简单的sql语句还是相通的,但是随着项目的深入复杂的sql语句开始慢慢多起来,其中一个小难点就是要根据当天的日期动态创建表,并且向其中插入数据. 具体逻辑可以理解为,先去数据库查询有没有当天的记录表,如果没有则创建表,然后执行当天的日志写入. Mysql的可视化工具我们用的是navicat,相对来说还是比较好用,当然没有sqlserver 那么人性化(很多快捷键不支持,操作累赘).下面我就来说一说用navi

mysql用户的创建、删除、权限更改

创建用户:  CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 用户删除: DROP USER 'username'@'host'; 创建用户并授权: GRANT privileges ON databasename.tablename TO 'username'@'host' IDENTIFIED BY 'password' ; 用授权户: GRANT privileges ON databasename.tablename TO

MySQL的索引创建、删除

1_1.添加PRIMARY KEY(主键索引)  mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) 1_2.添加UNIQUE(唯一索引) mysql>ALTER TABLE `table_name` ADD UNIQUE ( `column` ) 1_3.添加INDEX(普通索引)  mysql>ALTER TABLE `table_name` ADD INDEX your_index_name ( `column`

MYSQL中存储过程的创建,调用及语法

MySQL 存储过程是从 MySQL 5.0 开始增加的新功能.存储过程的优点有一箩筐.不过最主要的还是执行效率和SQL 代码封装.特别是 SQL 代码封装功能,如果没有存储过程,在外部程序访问数据库时(例如 PHP),要组织很多 SQL 语句.特别是业务逻辑复杂的时候,一大堆的 SQL 和条件夹杂在 PHP 代码中,让人不寒而栗.现在有了 MySQL 存储过程,业务逻辑可以封装存储过程中,这样不仅容易维护,而且执行效率也高. 第一部分:创建一个简单的无参的存储过程 1 用mysql客户端登入

【转】图解MySql命令行创建存储过程

一 操作实例 首先登录mysql: 使用source命令,从命令行执行sql脚本,创建表: 创建第一个存储过程: 事先用DELIMITER关键字申明当前段分隔符,这样MySQL才会将";"当做存储过程中的代码: 调用一下,成功了: 创建一个带输出参数的存储过程,返回book表的记录数:创建成功: 如下的调用语句失败: 先在命令行用set定义一个变量:定义变量成功:后面的调用语句失败: 参数是放到括号里的:调用成功: select @s1,显示了@s1的当前值,为9,表的记录数: 调用时

mysql 查询表,视图,触发器,函数,存储过程

1. mysql查询所有表: SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '数据库名' AND  TABLE_TYPE ='BASE TABLE' mysql查询建表语句: show create table `表名` 2.mysql查询所有视图: SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '数据库名'