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

MySql创建函数

首先需要查看一下创建函数的功能是否开启:
mysql> show variables like '%func%';
+-----------------------------------------+-------+
| Variable_name                            | Value |
+-----------------------------------------+-------+
| log_bin_trust_function_creators | ON    |
+-----------------------------------------+-------+
1 row in set (0.02 sec)
如果Value处值为OFF,则需将其开启。
mysql> set global log_bin_trust_function_creators=1;
创建函数时,先选择数据库,
mysql> use xxx;
Database changed
delimiter $$是设置 $$为命令终止符号,代替分号,因为分号在begin...end中会用到;
mysql> delimiter $$
CREATE FUNCTION first_func(param1 varchar(5),parmam2 varchar(5),param3 varchar(10))
RETURNS TINYINT
BEGIN
   RETURN 1;
END
函数创建成功后需恢复分号为命令终止符号。
mysql> delimiter ;
测试:
mysql> select first_func('aaa','bbb','ccc');
+-------------------------------+
| first_func('aaa','bbb','ccc') |
+-------------------------------+
|                             1 |
+-------------------------------+
1 row in set (0.47 sec)
删除函数:
mysql> drop function first_func ;
Query OK, 0 rows affected (0.11 sec)
查看函数
1) show function status
显示数据库中所有函数的基本信息 
2)查看某个具体函数
 mysql>show create function bobj.first_func;


相关文档:

由浅入深讲解MySQL数据库索引的选择性 数据库索引

在MySQL中,对于索引的使用并是一直都采用正确的决定。
  简单表的示例:
  create TABLE `r2` (
  ID` int(11) DEFAULT NULL,
  ID1` int(11) DEFAULT NULL,
  CNAME` varchar(32) DEFAULT NULL,
  KEY `ID1` (`ID1`)
  ) ENGINE=MyISAM DEFAULT charSET=latin1
  select count(*) from r2;
  ......

MySQL行锁深入研究

做项目时由于业务逻辑的需要,必须对数据表的一行或多行加入行锁,举个最简单的例子,图书借阅系统。假设 id=1 的这本书库存为 1 ,但是有 2 个人同时来借这本书,此处的逻辑为
view plaincopy to clipboardprint?
Select   restnum  from  book  where  id =1 ;     ......

MySQL存储引擎

MySQL常用的存储引擎为MyISAM、InnoDB、MEMORY、MERGE,其中InnoDB提供事务安全表,其他存储引擎都是非事务安全表。
MyISAM是MySQL的默认存储引擎。MyISAM不支持事务、也不支持外键,但其访问速度快,对事务完整性没有要求。
InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是比起MyISAM存储引 ......

Mysql锁机制

mysql锁机制
mysql中对表级的存储引擎来说是释放死锁的,避免死锁可以这样做到:在任何查询之前先请求锁,并且按照请求的顺序锁表。
Mysql中用于write(写)的表锁的实现机制如下:
如果表没有加锁,那么就加一个写锁。否则的话,将请求放到写锁队列中。
mysql中用于read(读)的表锁的实现机制如下:
如果表没有加锁,那么 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号