MySQL触发器、存储过程、自定义函数、视图 常用SQL
2017-06-20 00:00
513 查看
1.建立一个userinfo表新增记录时的触发器 将新增日志加入到userinfolog
2.建立一个向userinfo表新增记录的存储过程
3.根据userinfo表的出生日期字段 我们将建立一个简单算得年龄的自定义函数
4.创建一个userinfo的视图 调用年龄函数
触发器语法
CREATE TRIGGER <触发器名称>
<--触发器命名
{ BEFORE | AFTER }
<--触发器有执行的时间设置:可以设置为事件发生前或后
{ INSERT | UPDATE | DELETE }
<--设定触发的事件:它们可以在执行insert、update或delete的过程中触发
ON <表名称>
<-- 触发器是属于某一个表的
FOR EACH ROW
<--触发间隔,每隔一行执行一次动作
<触发器SQL语句>
<--这里的语句可以是任何合法的语句,包括复合语句,但是这里的语句受的限制和函数的一样
查询数据库中的存储过程和函数
select `name` from mysql.proc where db = 'your_db_name' and `type` = 'PROCEDURE';
show procedure status;
select `name` from mysql.proc where db = 'your_db_name' and `type` = 'FUNCTION';
show function status;
查看存储过程或函数的创建代码
show create procedure pro_name;
show create function fun_name;
类似的,可以用show create database db_name;、show create table tab_name;、show create view view_name;查看数据库,表,视图等创建代码。
查看视图和表
SELECT * from information_schema.VIEWS;
SELECT * from information_schema.TABLES;
select * from information_schema.tables where table_schema='yourDatabaseName' and table_type='view';
show table status where comment='view';
在mysql中,view和table是一样的,使用show tables就可以看到新建的视图了。
查看触发器
语法:SHOW TRIGGERS [FROM db_name] [LIKE expr]
实例:SHOW TRIGGERS\G
创建代码 show create trigger trigger_name;
调用存储过程和函数
call pro_name();
select fun_name();
删除存储过程、函数、触发器
drop procedure pro_name;
drop function fun_name;
drop trigger t_trigger;
2.建立一个向userinfo表新增记录的存储过程
3.根据userinfo表的出生日期字段 我们将建立一个简单算得年龄的自定义函数
4.创建一个userinfo的视图 调用年龄函数
create table userinfo( userid int, username varchar(10), userbirthday date ); create table userinfolog( logtime datetime, loginfo varchar(100) );delimiter //-- 创建触发器:create trigger ToUserinfoLog before insert on userinfo for each row insert into userinfolog values(now(),concat(new.userid,'-',new.username));//-- 创建存储过程create procedure insert_userinfo(user_id int,username varchar(10),userbirthday date) begin insert into userinfo values(user_id,username,userbirthday); end//call insert_userinfo(1,'weizi',current_date);// call insert_userinfo(2,'mini','1998-03-12'); // call insert_userinfo(3,'echo','1981-01-25'); // call insert_userinfo(4,'apple','1990-11-25'); // call insert_userinfo(4,'vivi','1962-01-27'); // -- 创建自定义函数create function GetUserAge(birthday date) returns integer begin return year(now()) - year(birthday); end//-- 创建视图create view ViewUserInfo as select *,GetUserAge(userbirthday) as age from userinfo;//
触发器语法
CREATE TRIGGER <触发器名称>
<--触发器命名
{ BEFORE | AFTER }
<--触发器有执行的时间设置:可以设置为事件发生前或后
{ INSERT | UPDATE | DELETE }
<--设定触发的事件:它们可以在执行insert、update或delete的过程中触发
ON <表名称>
<-- 触发器是属于某一个表的
FOR EACH ROW
<--触发间隔,每隔一行执行一次动作
<触发器SQL语句>
<--这里的语句可以是任何合法的语句,包括复合语句,但是这里的语句受的限制和函数的一样
查询数据库中的存储过程和函数
select `name` from mysql.proc where db = 'your_db_name' and `type` = 'PROCEDURE';
show procedure status;
select `name` from mysql.proc where db = 'your_db_name' and `type` = 'FUNCTION';
show function status;
查看存储过程或函数的创建代码
show create procedure pro_name;
show create function fun_name;
类似的,可以用show create database db_name;、show create table tab_name;、show create view view_name;查看数据库,表,视图等创建代码。
查看视图和表
SELECT * from information_schema.VIEWS;
SELECT * from information_schema.TABLES;
select * from information_schema.tables where table_schema='yourDatabaseName' and table_type='view';
show table status where comment='view';
在mysql中,view和table是一样的,使用show tables就可以看到新建的视图了。
查看触发器
语法:SHOW TRIGGERS [FROM db_name] [LIKE expr]
实例:SHOW TRIGGERS\G
创建代码 show create trigger trigger_name;
调用存储过程和函数
call pro_name();
select fun_name();
删除存储过程、函数、触发器
drop procedure pro_name;
drop function fun_name;
drop trigger t_trigger;
相关文章推荐
- MySQL触发器、存储过程、自定义函数、视图 常用SQL
- MySQL触发器、存储过程、自定义函数、视图 常用SQL
- MySQL事务、存储过程、视图、自定义函数、触发器、事件的简单使用及理解
- MySQL之视图、存储过程、触发器、函数、事务、动态执行SQL
- MySQL 触发器 存储过程 自定义函数 视图 简单示例
- 14.数据库oracle必学,其他最好了解一种以上(mysql,sql server,access==) oracle:视图,索引,存储过程,触发器,游标,包,常用函数
- MySQL 触发器 存储过程 自定义函数 视图 简单示例
- MySQL 系列(三)你不知道的 视图、触发器、存储过程、函数、事务、索引、语句
- Mysql----浅入浅出之视图、存储过程、触发器
- 基于mysql事务、视图、存储过程、触发器的应用分析
- MySQL 系列(三)你不知道的 视图、触发器、存储过程、函数、事务、索引、语句
- mysql 查询表,视图,触发器,函数,存储过程
- MySQL笔记---视图,存储过程, 触发器的使用入门
- MySQL 系列(三)你不知道的 视图、触发器、存储过程、函数、事务、索引、语句
- 【数据库学习笔记】MySQL_03_存储过程,触发器,权限,视图,函数
- 基于mysql事务、视图、存储过程、触发器的应用分析
- [MySQL] 存储过程、函数、触发器和视图的权限检查
- MySql基础教程二(视图,存储过程,游标,触发器,事务,权限,数据类型)
- mysql事务、触发器、视图、存储过程、函数
- sp_depends 被检查相关性的数据库对象。对象可以是表、视图、存储过程或触发器 in sql server