Mysql 表 儲存過程 函式 事件的建立

2021-09-10 05:33:12 字數 2318 閱讀 8690

剛安裝好mysql及sqlyog,迫不及待的試一下資料庫的基本操作,發現還是挺好用的。

/**********建立表***********/

create table `account` (

`id` int(11) not null auto_increment,

`name` varchar(20) not null,

`money` double default null,

primary key (`id`)

) engine=innodb auto_increment=4 default charset=utf8;

insert into `account` values ('1', 'a', '1000');

insert into `account` values ('2', 'b', '1000');

insert into `account` values ('3', 'c', '1000');

create table `userinfo` (

`name` varchar(20) not null,

`age` int default null,

`gender` varchar(20) default null

) engine=innodb auto_increment=4 default charset=utf8;

insert into `userinfo` values ('a', 20,'man');

insert into `userinfo` values ('b', 22,'man');

insert into `userinfo` values ('c', 30,'woman');

/**********建立檢視***********/

create

view v_user_info as

select

a.name as username,

a.money as salary,

b.age as age,

b.gender as gender

from

account a,

userinfo b

where

a.name = b.name

/**********建立儲存過程***********/

delimiter $$

create

procedure `test`.`v_salary1`(username varchar(20),salarynew double)

begin

-- select * from `account` where `account`.name=username;

update `account` set `account`.`money`=salarynew where `account`.name=username;

end$$

delimiter ;

/*********儲存過程呼叫命令********/

call v_salary1('b',1200)

/**********建立函式***********/

delimiter $$

create

/*[definer = ]*/

function `test`.`f_stringadd`(a varchar(100),b varchar(100))

returns varchar(200)

begin

return concat(a,b);

end$$

delimiter ;

/*********函式呼叫命令********/

select f_stringadd('1234','afds')

/**********建立事件***********/

delimiter $$

create event `test`.`e_salaryadd`

on schedule every 5 second on completion preserve

do begin

update `account` set `account`.`money`=`account`.`money`+1 where `account`.`name`='a';

end$$

delimiter ;

/**********開啟事件***********/

show variables like 'event_scheduler';

set global event_scheduler = 1;

mysql儲存過程 儲存函式 觸發器 事件

前言 資料庫本身支援儲存過程,不同的資料庫管理系統對儲存過程的支援都不盡相同 從mysql5.0開始,mysql支援儲存過程 儲存函式 觸發器 事件 使用儲存過程的優點 儲存過程執行一次後,其執行的規劃就駐留在高速緩衝儲存器上,以後再次呼叫儲存過程時,只需從高速緩衝儲存器中呼叫以編譯好的二進位制 執...

MYSQL儲存過程及事件

關於mysql下的儲存過程以及事件的建立 下面這個儲存過程主要實現的功能就是查詢表裡面半年前的資料,如果有就存到檔案,然後將資料刪除。create definer root localhost procedure newproc begin select count into count from ...

mysql 儲存過程與事件

現在有個需求,每隔一小時,改變一下資料庫中userinfo的記錄 實現步驟 1 建立儲存過程 有入參 inp aint create procedure pro del userinfo begin delete from userinfo case p a when 1 then insert i...