mysql怎么查结果存储,mysql怎么查询数据库内存
MYSQL 存储过程如何取得一个表的查询结果?
假设A表有3个字段,ID, DATA1,DATA2\x0d\x0a简单的话可以不使用存储过程,比如:\x0d\x0aselect * form A where ID in (select ID from A where DATA1 between 0 and 100)\x0d\x0a\x0d\x0a如果你的应用比较复杂,在嵌套中还有复杂的运算,存储过程可以如下例子:\x0d\x0aCREATE PROCEDURE test(in_start int,in_end int)\x0d\x0aBEGIN\x0d\x0a DECLARE ids TEXT;\x0d\x0a select GROUP_CONCAT(ID) into ids from A where DATA1 between in_start and in_end;\x0d\x0a select * from A where FIND_IN_SET(ID,ids) 0;\x0d\x0aEND\x0d\x0a注: in_start, in_end是DATA1的筛选范围。 后面一个select直接返回一个表\x0d\x0a\x0d\x0a直接用SQL和使用存储过程各有利弊,存储过程在你使用大量查询及SQL运算的时候效率很高,而且存储过程一旦写入数据库会被自动编译运行速度比较快,而SQL是每次执行都需要被编译一次的。但是存储过程的调试比较麻烦,不像你使用编程语言和SQL的时候可以单步调试。而且如果没有熟练掌握存储过程的效率优化情况下,使用存储过程可能比使用SQL更慢。
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都做网站、成都网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的秀英网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
MySQL 存储过程,获取使用游标查询的结果集
MySQL 存储过程中,使用游标查询,返回的是结果集时,如何查看调用存储过程输出结果呢?
解决方案:存储过程不返回数据,但它能创建和填充另一个表。所以在存储过程运行中创建临时表。该临时表将保存存储过程中生成的结果集,在遍历游标时,用insert保存每条数据到临时表中。后续调用时可以用select语句查询临时表中的存储过程运行结果。
以下有 三种方式 使用游标创建一个存储过程,统计某一部门下的员工信息
方法一:Loop循环
调用存储过程:
方法二:While 循环
调用存储过程:
方法三:REPEAT 循环
调用存储过程:
上述三种实现方法在测试过程中遇到下述问题。
调用存储过程查询临时表输出结果时,会发现多循环了一次,像这样:
解决方法:
在遍历游标查询结果时,先判断游标的结束标志(done) 是否是为1,如果不是1,则向临时表中插入数据。
如何将mysql的查询结果保存到文件中?
笔者是在ubuntu环境下测试的:首先创建一个查询语句的文件 如query.sql(名字你自己取),内容大致如下:use datebase_name; //不解释了吧select xxx from table where where-condition....; //就是一个你需要查询的语句保存好,现在开始操作:#mysql -h 服务器ip地址 -u 用户名 -p密码 -P 端口 query.sql 输出的文件名demo: mysql -h 127.0.0.1 -u root -p 1234 -P 3300 query.sql /home/michael/test.txt好了,现在你可以在对应的目录中找到你想要的文件了。
名称栏目:mysql怎么查结果存储,mysql怎么查询数据库内存
本文路径:http://hbruida.cn/article/hsgchs.html