我们有一个简单的sql脚本需要针对MySQL数据库执行,我们希望在脚本的进度上打印日志语句(例如,将10条记录插入foo或从条形图中删除5条记录).我们如何做到这一点?
bla*_*out 48
这将使您在sql脚本中进行简单的打印:
select 'This is a comment' AS '';
Run Code Online (Sandbox Code Playgroud)
或者,这将一些动态数据添加到您的状态更新,如果后直接使用update
,delete
或insert
命令:
select concat ("Updated ", row_count(), " rows") as '';
Run Code Online (Sandbox Code Playgroud)
Cra*_*yne 24
我不知道这是否有帮助:
假设您要从命令行运行sql脚本(test.sql):
mysql < test.sql
Run Code Online (Sandbox Code Playgroud)
和test.sql的内容是这样的:
SELECT * FROM information_schema.SCHEMATA;
\! echo "I like to party...";
Run Code Online (Sandbox Code Playgroud)
控制台将显示如下内容:
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME
def information_schema utf8
def mysql utf8
def performance_schema utf8
def sys utf8
I like to party...
Run Code Online (Sandbox Code Playgroud)
所以你可以通过使用在sql语句中执行终端命令,提供脚本是通过命令行运行的.
\! #terminal_commands
Run Code Online (Sandbox Code Playgroud)
只是为了让你的脚本更具可读性,也许使用这个proc:
DELIMITER ;;
DROP PROCEDURE IF EXISTS printf;
CREATE PROCEDURE printf(thetext TEXT)
BEGIN
select thetext as ``;
END;
;;
DELIMITER ;
Run Code Online (Sandbox Code Playgroud)
现在你可以这样做:
call printf('Counting products that have missing short description');
Run Code Online (Sandbox Code Playgroud)