As well as interactive code execution, MySQL Shell provides batch code execution from:
A file loaded for processing.
A file containing code that is redirected to the standard input for execution.
Code from a different source that is redirected to the standard input for execution.
The input is processed based on the current programming language
change the default programming language using the
defaultMode MySQL Shell configuration option.
Files with the extensions
.sql are always
processed in the appropriate language mode, regardless of the
default programming language.
shell> mysqlsh --file code.js
shell> mysqlsh < code.js
This example shows how to redirect SQL code to standard input for execution:
shell> echo "show databases;" | mysqlsh --sql --uri firstname.lastname@example.org:33060
Starting with version 1.0.4, on Linux you can create executable
scripts that run with MySQL Shell by including a
#! line as the first line of the script. This
line should provide the full path to MySQL Shell and include
--file option. For example:
#!/usr/local/mysql-shell/bin/mysqlsh --file print("Hello World\n");
The script file must be marked as executable in the filesystem. Running the script invokes MySQL Shell and it executes the contents of the script.