易截截图软件、单文件、免安装、纯绿色、仅160KB

MySQL 的触发器、存储过程、函数、视图实验

    本实验完成如下结果:
    0. test数据库,userinfo 用户信息表 和 userinfolog 用户信息日志表
    1. 建立一个userinfo表新增记录时的触发器,将新增日志加入到userinfolog
    2. 建立一个向userinfo表新增记录的存储过程
    3. 根据userinfo表的出生日期字段,我们将建立一个简单算得年龄的自定义函数
    4. 创建一个userinfo的视图,调用年龄函数
    0.准备相关表
    mysql> use test;
    mysql> create table userinfo(userid int,username varchar(10),userbirthday date);
    mysql> create table userinfolog(logtime datetime,loginfo varchar(100));
    mysql> describe userinfo;
    1.触发器
    mysql> delimiter |
    mysql> create trigger beforeinsertuserinfo
        -> before insert on userinfo
        -> for each row begin
        ->   insert into userinfolog values(now(),CONCAT(new.userid,new.username));
        -> end;
        -> |
    mysql> delimiter ;
    mysql> show triggers;
    2.存储过程
    mysql> delimiter //
    mysql> create procedure spinsertuserinfo(puserid int,pusername varchar(10),puserbirthday date)
        -> begin
        ->  insert into userinfo values(puserid,pusername,puserbirthday);
        -> end;
        -> //
    mysql> show procedure status like 'spinsertuserinfo';
    mysql> call spinsertuserinfo(1,'zhangsan',current_date);
  &n


相关文档:

一种不错的从SQL转Mysql数据库的方法

年初的时候一直在做一个网站MSSQL2000->MySQL5的迁移工作,因为采用了不同的程序系统,所以主要问题在数据的迁移。由于2个系统数据库结构差异非常大,不方便采取SQLSERVER里导入MYSQL的ODBC数据源的功能(也不推荐这么做,字段类型等不同点会搞死人的~),因此就在WINDOWS下自己写PHP脚本从SQLSERVER里读数据,然后按照 ......

MySQL触发器解决方案历程

最近,项目中用到mysql,由于数据量非常大,每天的数据量在百万级,考虑到mysql数据库处理性能以及数据属性,决定保存足够多的查询数据即可,距当前时间最久远的数据直接删除,无需进行备份。
头脑中冒出的第一个想法就是,能否利用mysql中的触发器,检查数据表大小,如果超过预设长度,则删除部分数据。
CREATE TRIGGER ......

mysql存储引擎的索引对比

存储引擎 支持索引 myisam b-tree,r-tree,full-text,不支持hash innodb b-tree(clustered-index) merge b-tree,r-tree memory b-tree,hash archive 无索引 ......

MySQL server has gone away 的解决办法

有时候使用MySQL(和PHP搭配之最佳组合)命令行导入备份时会出现“MySQL(和PHP搭配之最佳组合) server has gone away”错误,这可能是因为其中一些insert语句的大小超出了MySQL(和PHP搭配之最佳组合)目前设置的缓冲区大小。
解决办法
1.使用phpmyadmin 备份MySQL(和PHP搭配之最佳组合)的时候,只选择
数据: ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号