文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>MySQL学习笔记(十六)—— MySQL的命令集(6)

MySQL学习笔记(十六)—— MySQL的命令集(6)

时间:2008-06-05  来源:lavostar

16)  创建函数
CREATE [DEFINER={user | CURRENT_USER}] FUNCTION sp_name ([params]) RETURNS type
  function_definition
CREATE [AGGREGATE] FUNCTION name RETURNS return_type SONAME library
MySQL有两种截然不同的函数概念。第一种语法创建的是存储函数。所谓存储函数,与存储过程很相似,只是你可以将其作为查询的一部分进行调用。存储函数接受任意个数的IN参数并返回一个返回值。第二种语法创建的是库函数,库函数又称为用户定义函数(UDF),MySQL主要用它来作为外部编程语言的接口。函数的返回值可为STRING、REAL或INTEGER。包含函数的库文件必须是标准共享库文件,这样MySQL才能将其动态链接到服务器。
示例:     CREATE FUNCTION multiply RETURNS REAL SONAME myexample.so
17)  创建索引
CREATE [UNIQUE | FULLTEXT | SPATIAL] INDEX name ON table (column[(length)], …)
创建索引语句主要用来与其它SQL实现兼容。在老的SQL版本中,该语句并不起任何作用。它相当于ALTER TABLE ADD INDEX语句。要创建索引,必须有对表的INDEX权限。
UNIQUE关键字表示索引列的值必须唯一。FULLTEXT关键字可使关键字的搜索基于索引列进行,一般只对MyISAM表的CHAR、VARCHAR或TEXT列才使用该选项。SPATIAL索引只适用于MyISAM表的非空列。
可以创建只使用列的部分值的索引,其设置可通过length来确定。
示例:     CREATE UNIQUE INDEX trans ON Translation (language, locale, code);
               CREATE INDEX inv ON Invitation (code(6));
18)  创建过程
CREATE [DEFINER = { user | CURRENT_USER }] PROCEDURE name
  ([ {IN | OUT | INOUT} parameter data_type [, …]])
  [LANGUAGE SQL] [[NOT] DETERMINISTIC]
  [{CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA}]
  [SQL SECURITY { DEFINER | INVOKER}]
  [COMMENT ‘comment string’]
  procedure_body
创建新的存储过程。要使用该命令,必须拥有CREATE ROUTINE权限。过程体可以为单个SQL语句或一组由BEGIN/END包围的语句。
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载