十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
笔者是在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好了,现在你可以在对应的目录中找到你想要的文件了。
沙湾网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站开发等网站项目制作,到程序开发,运营维护。创新互联于2013年创立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
假设A表有3个字段,ID, DATA1,DATA2
简单的话可以不使用存储过程,比如:
select * form A where ID in (select ID from A where DATA1 between 0 and 100)
如果你的应用比较复杂,在嵌套中还有复杂的运算,存储过程可以如下例子:
CREATE PROCEDURE test(in_start int,in_end int)
BEGIN
DECLARE ids TEXT;
select GROUP_CONCAT(ID) into ids from A where DATA1 between in_start and in_end;
select * from A where FIND_IN_SET(ID,ids) 0;
END
注: in_start, in_end是DATA1的筛选范围。 后面一个select直接返回一个表
直接用SQL和使用存储过程各有利弊,存储过程在你使用大量查询及SQL运算的时候效率很高,而且存储过程一旦写入数据库会被自动编译运行速度比较快,而SQL是每次执行都需要被编译一次的。但是存储过程的调试比较麻烦,不像你使用编程语言和SQL的时候可以单步调试。而且如果没有熟练掌握存储过程的效率优化情况下,使用存储过程可能比使用SQL更慢。
mysql存储数据的时候都会把数据文件存储到固定的位置,那么我们如何查看这个存储数据文件的位置在哪里那?下面我给大家分享一下。
01
首先我们进入mysql的安装目录,如下图所示,打开my.ini文件
02
接下来在打开的my.ini文件中,我们找到datadir所在行,如下图所示,复制此行的路径
03
然后我们在路径输入框中粘贴此路径,回车即可进入数据文件所在的位置,如下图所示
04
最后如果你想修改数据文件的位置,那么直接修改my.ini文件中datadir对应的路径即可,如下图所示
MySQL 存储过程中,使用游标查询,返回的是结果集时,如何查看调用存储过程输出结果呢?
解决方案:存储过程不返回数据,但它能创建和填充另一个表。所以在存储过程运行中创建临时表。该临时表将保存存储过程中生成的结果集,在遍历游标时,用insert保存每条数据到临时表中。后续调用时可以用select语句查询临时表中的存储过程运行结果。
以下有 三种方式 使用游标创建一个存储过程,统计某一部门下的员工信息
方法一:Loop循环
调用存储过程:
方法二:While 循环
调用存储过程:
方法三:REPEAT 循环
调用存储过程:
上述三种实现方法在测试过程中遇到下述问题。
调用存储过程查询临时表输出结果时,会发现多循环了一次,像这样:
解决方法:
在遍历游标查询结果时,先判断游标的结束标志(done) 是否是为1,如果不是1,则向临时表中插入数据。