MySQL Shell is an advanced client and code editor for MySQL Server. It is designed to provide an integrated command-line client for all MySQL products which support X Protocol. MySQL Shell provides scripting capabilities for JavaScript and Python and includes APIs for working with MySQL. MySQL Shell is a component that you can install separately.
MySQL Shell provides the following features:
- Both Interactive and Batch operations
- Javascript, Python, and SQL language modes
- Document and Relational Models
- CRUD Document and Relational APIs via scripting
- Traditional Table, JSON, Tab Separated output results formats
- Stored Sessions
- MySQL Standard and X Protocols
- MySQL Shell Utilities (Upgrade Checker, JSON Import, Dump Loading, and more)
MySQL Shell is updated frequently with fixes and new features, and it is strongly recommended that you always use the most recent version available. MySQL Shell can be used to perform data queries and updates as well as various administration operations.
MySQL Shell includes the following APIs implemented in JavaScript and Python which you can use to develop code that interacts with MySQL:
- X DevAPI: enables developers to work with both relational and document data when MySQL Shell is connected to a MySQL server using the X Protocol. This enables you to use MySQL as a Document Store, sometimes referred to as “using NoSQL”.
- AdminAPI: enables database administrators to work with InnoDB Cluster, which provides an integrated solution for high availability and scalability using InnoDB based MySQL databases, without requiring advanced MySQL expertise. The AdminAPI also includes support for InnoDB ReplicaSet, which enables you to administer a set of MySQL instances running asynchronous GTID-based replication in a similar way to InnoDB Cluster.
MySQL Shell provides commands which enable you to modify the execution environment of the code editor, for example to configure the active programming language or a MySQL Server connection. MySQL Shell exposes much of its functionality using an API command syntax that enables you to easily integrate mysqlsh with other tools.
In summary, MySQL Shell is an advanced client and code editor for MySQL Server that provides scripting capabilities for JavaScript and Python and includes APIs for working with MySQL. It can be used to perform data queries and updates as well as various administration operations. MySQL Shell includes the X DevAPI and AdminAPI, which enable developers and database administrators to work with both relational and document data when MySQL Shell is connected to a MySQL server using the X Protocol.