5.1 Активный язык
MySQL Shell может выполнять SQL, JavaScript или Python код, но только один язык может быть активным в один момент. Активный режим определяет, как обрабатываются выполняемые операторы:
Если используется режим SQL, операторы обрабатываются как SQL, что означает, что они отправляются на MySQL сервер для выполнения.
Если используется режим JavaScript, операторы обрабатываются как JavaScript код.
Если используется режим Python, операторы обрабатываются как Python код.
MySQL Shell использует Python 3. Для платформ, включающих системную поддержку Python 3, MySQL Shell использует последнюю доступную версию, с минимально поддерживаемой версией Python 3.4.3. Для платформ, где Python 3 не включён, MySQL Shell поставляется с Python 3.7.4. MySQL Shell поддерживает совместимость кода с Python 2.6 и Python 2.7, поэтому, если вам нужна одна из этих более старых версий, вы можете собрать MySQL Shell из исходного кода, используя соответствующую версию Python.
При запуске MySQL Shell в интерактивном режиме, активируйте определённый язык, введя команды: \sql, \js, \py.
При запуске MySQL Shell в пакетном режиме, активируйте определённый язык, передав любой из этих командных параметров: --js, --py или --sql. Если ни один не указан, по умолчанию используется режим SQL.
Используйте MySQL Shell для выполнения содержимого файла code.sql как SQL.
$> mysqlsh --sql < code.sql
Используйте MySQL Shell для выполнения содержимого файла code.js как JavaScript код.
$> mysqlsh --js < code.js
Используйте MySQL Shell для выполнения содержимого файла code.py как Python код.
$> mysqlsh --py < code.py
Вы можете выполнить отдельные SQL операторы, когда другой язык активен, введя команду \sql непосредственно после SQL оператора. Например:
mysql-py> \sql select * from sakila.actor limit 3;
SQL оператор не требует дополнительной кавычки, и разделитель операторов необязателен. Команда принимает только один SQL запрос в одной строке. В этом формате MySQL Shell не переключает режим, как если бы вы ввели команду \sql. После выполнения SQL оператора, MySQL Shell остаётся в режиме JavaScript или Python.
Вы можете выполнить команды операционной системы, когда любой язык активен, введя команду \system или \!, непосредственно за ней команду для выполнения. Например:
mysql-py> \system echo Hello from MySQL Shell!
MySQL Shell отображает вывод команды операционной системы или возвращает ошибку, если не удалось выполнить команду.
© 2025 Oracle
Licensed under the GPLv2 License.