mysql delimiter

mysql delimiter

delimiter:分隔符

escape character:转义符

刚才试图搞mysql的存储过程,被郁闷了一回,最简单的存储过程,只要加上begin 和end就有莫名其妙的错误。
比如  
CREATE PROCEDURE p()
BEGIN  
SELECT * FROM T;
END;
够简单了吧?就是报错,其实是分号的问题,说的正规点叫分隔符。
应该这样
1.    delimiter // 

2.    CREATE PROCEDURE p() 

3.    BEGIN 

4.      SELECT * FROM T; 

5.    END// 

6. 

7.    delimiter ;

 


第一行把分隔符改成双杠,这样到中间 FROM T的时候mysql不会认为SQL命令已经结束了;
第七行把分隔符再改回来,不然以后不习惯。 
 
  http://www.cnblogs.com/lyhabc/p/3699969.html

特别提示

某一些MYSQL中的特殊字符需要用转义字符才能插入数据库,否则产生意料之外的结果。

下面的特殊字符需要在输入时加反斜线符号开头

输入单引号需要:\'

输入双引号需要:\''

输入反斜杠:\\

输入回车符:\r

输入换行符:\n

输入制表符:\tab

输入退格符:\b

在插入这些特殊字符到数据库之前一定要进行转义处理


mysql 编写 procedure学习

 (2012-02-07 20:27:39)
标签: 

mysql

 

procedure

 

存储过程

分类: mysql
最近看了看mysql的procedure的编写,记录一下:
 
先说delimiter:
delimiter是定界符的意思,表示一条语句的中介,或一个命令的终结,在默认情况下是“;”——分号。
一般在编写procedure之前需要将delimiter设置成其他符号,例如:“//”,这是因为在procedure中一般都不止一条语句,而语句后需要用“;”结束,所以先设置成其他符号。记住,在编写完procedure之后重新设回来。
用法: delimiter //
 
查看procedure的信息:
show procedure status:用来查看整个mysql中的存储过程的信息;
show create procedure procedureName;来查看名字为procedureName的存储过程的详细信息(需选中数据库);
 
创建简单的procedure:(已经将delimiter设置成了“//”)
create procedure procedureName()
begin
select * from youTableName;
end//
这样就创建好了一个procedure,现在就可以通过call procedureName();来调用这个存储过程了。
 
进一步学习procedure之前先要稍微了解一些procedure的一些简单语法:
在正式编写procedure之前需要熟悉一下procedure的一些简单语法:
1.区块定义,常用
begin
......
end;
也可以给区块起别名,如:
lable:begin
...........
end lable;
可以用leave lable;跳出区块,执行区块以后的代码
2.条件语句
mysql <wbr>编写 <wbr>procedure学习if 条件 then
mysql <wbr>编写 <wbr>procedure学习statement
mysql <wbr>编写 <wbr>procedure学习else
mysql <wbr>编写 <wbr>procedure学习statement
mysql <wbr>编写 <wbr>procedure学习end if;

3.循环语句
(1).while循环
mysql <wbr>编写 <wbr>procedure学习[label:] WHILE expression DO
mysql <wbr>编写 <wbr>procedure学习
mysql <wbr>编写 <wbr>procedure学习statements
mysql <wbr>编写 <wbr>procedure学习
mysql <wbr>编写 <wbr>procedure学习END WHILE [label] ;
mysql <wbr>编写 <wbr>procedure学习
(2).loop循环
mysql <wbr>编写 <wbr>procedure学习[label:] LOOP
mysql <wbr>编写 <wbr>procedure学习
mysql <wbr>编写 <wbr>procedure学习statements
mysql <wbr>编写 <wbr>procedure学习
mysql <wbr>编写 <wbr>procedure学习END LOOP [label];
(3).repeat until循环
mysql <wbr>编写 <wbr>procedure学习[label:] REPEAT
mysql <wbr>编写 <wbr>procedure学习
mysql <wbr>编写 <wbr>procedure学习statements
mysql <wbr>编写 <wbr>procedure学习
mysql <wbr>编写 <wbr>procedure学习UNTIL expression
mysql <wbr>编写 <wbr>procedure学习
mysql <wbr>编写 <wbr>procedure学习END REPEAT [label] ;
 
http://blog.sina.com.cn/s/blog_98a0937f0100zgdf.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值