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

mysql中触发器的应用

这几天学习了触发器的用法,觉得触发器很好用啊。
触发器的基本语法:
CREATE TRIGGER <触发器名><--
{BEFORE | AFTER}
{ INSERT | UPDATE | DELETE }
ON <表名称>
FOR EACH ROW
<触发器SQL语句>
规则:
1.触发器必须有名字,最多64个字符,可能后面会附有分隔符.它和MySQL中其他对象的命名方式基本相象
2.我们不能给同一张表的同一个事件安排两个触发器
3.FOR EACH ROW子句通知触发器每隔一行执行一次动作,而不是对整个表执行一次。
4.你必须拥有相当大的权限才能创建触发器(CREATE TRIGGER)。
5.触发器包含所要触发的SQL语句:这里的语句可以是任何合法的语句,包括复合语句,但是这里的语句受的限制和函数的一样:
ALTER 'CACHE INDEX' CALL COMMIT CREATE DELETE
DROP 'FLUSH PRIVILEGES' GRANT INSERT KILL
LOCK OPTIMIZE REPAIR REPLACE REVOKE
ROLLBACK SAVEPOINT 'SELECT from table'
'SET system variable' 'SET TRANSACTION'
SHOW 'START TRANSACTION' TRUNCATE UPDATE
6.可以使用NEW与OLD关键字来访问更新前后的数据
例如:
create trigger t3
after
delete on article for each row
 insert into xy_user(name,email,hobby)values('admin','admin@163.com','zuqiu');


相关文档:

将mysql的表导出到excel

  用MYSQL语句:  
  mysql   -uroot   -p^^^^^  -e   "select   *   from   test.table2"   >   d:\a.xls
其中test为数据库 table2为其中的表    d:\a.xls为表位置 ......

查询mysql数据库的大小

(1)INFORMATION_SCHEMA
select (sum(data_length) + sum(index_length))/(1024*1024) from INFORMATION_SCHEMA.`TABLES` where table_schema =  'your_table_schema' and table_name like 'your_table_name';
(2)show table status like '';
try {
Class.forName("com.mysql.jdbc.Driver");
......

shell 中调用 mysql 操作

#!/bin/bash
#删除100个数据库中的1000个表的过期数据
DBHOST="127.0.0.1"
DBPWD="pwd"
DBUSER="root"
MYSQLBIN="/usr/local/mysql/bin/mysql"
for((dbindex = 0;dbindex < 100;dbindex++))
do
   for((tabindex = 0;tabindex < 10;tabindex++))
   do
    if [&n ......

mysql下的分页存储过程

CREATE PROCEDURE pro_page(
 in _sql varchar(1000),
 in _order varchar(1000),
 in _pagecurrent int,
 in _pagesize int
)
BEGIN
 if _pagesize<=1 then
  set _pagesize=20;
 end if;
 if _pagecurrent < 1 then
  set _pagecurrent = 1;
&n ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号