- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MySql的数据修复:
运行一下命令:check table 表名 --这是检测命令
Repair table 表名 ---这是修复命令
注解:主要是针对于查询数据库的时候出现数据不能查询总是报错,错误代码135
存储过程:
存储过程的优点:
存储过程增强了sql语言的功能和灵活性,可以用流编程语句编写,可以完成复杂的判断和较复杂的运算。
存储过程能实现较快的执行速度,如果某一操作包含大量的sql代码或分别被多次执行,存储过程要比批处理快。因为存储过程是预编译的,在首次云新一个存储过程时查询,优化器对其进行分析优化,并给出最终被存储在系统表中的执行计划,而皮处理需要每次运行都要编译和优化。
存储过程能过减少网络流量。针对同一个数据库对象的操作(如查询、修改),如果这一操作所涉及的Transaction-SQL语句被组织程存储过程,那么当在客户计算机上调用该存储过程时,网络中传送的只是该调用语句,从而大大增加了网络流量并降低了网络负载。
存储过程可被作为一种安全机制来充分利用。系统管理员通过执行某一存储过程的权限进行限制,能够实现对相应的数据的访问权限的限制,避免了非授权用户对数据的访问,保证了数据的安全。
注意:mydql在5.0以前是不支持存储过程的。在5.0包括5.0上开始支持
存储过程的定义:
delimiter //
create procedure proc1(out s int )
begin
select count(*) into s from user;
end
//
注意:1.DELIMITER //和DELIMITER ;两句,DELIMITER是分割符的意思,因为MySQL默认以;为分隔符,如果我们没有声明分割符,那么编译器会把存储过程当成SQL语句进行处理,则存储过程的编译过程会报错,所以要事先用DELIMITER关键字申明当前段分隔符,这样MySQL才会将;当做存储过程中的代码,不会执行这些代码,用完了之后要把分隔符还原。2.三种参数类型 in,out,inout。In 输入参数:该参数的值必须在调用存储过程时注定。在存储过程中修改该参数的值不能被返回; out 输出参数:该值可在存储过程内部被改变,并可返回。 Inout 输入输出参数:调用时注定,并可以被改变和返回
存储过程的修改:
Alter procedure 存储过程名 sql语句代码 ----用来改变一个存储程序的特征
删除存储过程:
Drop procedure if exists 存储过程名 ---不能在一个存储过程中删除另一个存储过程,只能调用另一存储过程
查看一个已经存在的存储过程:
Show create procedure 存储过程名
列出所有存储过程名:
Sow procedure status
存储过程的调用:
Call 存储过程名(参数列表) --存储过程名称后面必须加括号,哪怕该存储过程没有参数传递
D….end符合语句丽,并且必须在复合语句开头,在任何其他语句之前
Declare var_name type default value
要给变量提供一个默认值,请包涵default字句,值可以被指定为一个表达式,不需要为一个常数,没有default子句初始值为null
Select into 语句
Select into 语句 ---这个select语法吧选定的列直接存储到变量中
Select id ,data into x,y from test limit 1;
操作存储过程的注意事项:
1.??删除存储过程时只需要指定存储过程名即可,不带括号;
2.??创建存储过程时,不管该存储过程有无参数,都需要带括号;
3.??在使用SET定义变量时应遵循SET的语法规则;
SET @变量名=初始值;
4.???在定义存储过程参数列表时,应注意参数名与数据库中字段名区别开来,否则将出现无法预期的结果
Java中调用带输入参数的存储过程
publicvoid executeProcedure()
{
try {
*jdbc调用存储过程原型
*{call存储过程名(参数列表1,参数列表2)}可用?代替
*/
callableStatement=connection.prepareCall({call proc_employee_findById(?)});
文档评论(0)