剛安裝好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...