Rumah > Artikel > pangkalan data > MySQL高级一
一、MySQL编码设定
1、查看MySQL服务的编码
show variables like 'char%';
2、修改数据表的编码
alter table test character set utf8;
3、修改数据表的某个字段名的编码
alter table test change code code varchar(32) character set utf8 not null;
二、会话变量和全局变量
1、会话变量
show session variables;
2、会话变量的模糊查询
show session variables like 'auto%';
3、设置回话
set @@session.autocommit ='off';
4、查看全局变量
show global variables;
三、存储过程
1)、存储过程增强了SQL语言的功能和灵活性
2)、存储过程允许标准组件是编程
3)、存储过程能实现较快的执行速度
4)、存储过程能够减少网络流量
5)、存储过程可被作为一种安全机制来充分利用
1、使用:
1)、首先选中数据库
2)、改变分隔符:不要让;作为执行结束的标记。
如:
delimiter $$;
create procedure p_hello() begin select 'hello'; select 'world'; end $$;
3)、分隔符改变回来
delimiter ;
4)、调用上面的存储过程
call p_hello;
2、定义存储过程局部变量
1)、第一种变量赋值
create procedure p_vartest() begin declare a varchar(20) default 'abc'; select a; end $$;
2)、第二种变量赋值
create procedure p_vartest2() begin declare inta int; set inta = 10; select inta; end $$;
3)、存储过程的传参
create procedure p_vartest3(in p_int int) begin select p_int; set p_int = p_int + 1; select p_int; end $$;
a、定义一个变量
set @p_int = 3;
b、调用存储过程
call p_vartest3(@p_int);
d、查看数据库中的变量的变化
数据库里的变量并没有被修改,表示存储过程传值只是把变量进行赋值。
以上就是MySQL高级一的内容,更多相关内容请关注PHP中文网(www.php.cn)!