このページは機械翻訳したものです。
MySQL Shellでは,“タブ”キーを押してカーソルの前のテキストの自動補完をサポートしています。セクション3.1 MySQL Shellのコマンドは,任意の言語モードで自動補完できます。たとえば,\反对
と入力し,选项卡
キーを押すと,\连接
がオートコンプリートされます。自動補完は,現在のセクション5.1 "アクティブな言語"に応じて,SQL, JavaScriptおよびPython言語のキーワードに使用できます。
オートコンプリートでは,次のテキストオブジェクトがサポートされます:
SQLモード——自動補完では,現在アクティブなスキーマのスキーマ名,テーブル名,カラム名が認識されます。
JavaScriptおよびPythonモードでは,自動補完はオブジェクトメンバーを認識します。次に例を示します:
会话
,db
,dba
,壳牌
,mysql
,mysqlx
などのグローバルオブジェクト名。session.connect ()
、dba.configureLocalInstance ()
などのグローバルオブジェクトのメンバー。グローバルユーザー定義変数
shell.options.verbose
などの連鎖オブジェクトプロパティ参照。.fetchOne col.find()其中(). execute () ()
などの連鎖したX DevAPIメソッドコール。
デフォルトでは,自動補完は有効になっています。この動作を変更するには,オートコンプリートの構成を参照してください。
オートコンプリートをアクティブにすると,カーソルの前のテキストが1つの一致する可能性がある場合,そのテキストは自動的に入力されます。オートコンプリートで複数の一致が見つかると,端末がビープ音を鳴らすか点滅します。选项卡
キーを再度押すと,使用可能な完了のリストが表示されます。一致するものが見つからない場合,自動補完は行われません。
MySQL壳がSQLモードの場合,オートコンプリートは,一致する可能性のあるすべての完了を含む単語を完了しようとします。SQLモードでは,次を自動完了できます:
SQLキーワード-既知のSQLキーワードのリスト。照合では大文字と小文字は区別されません。
SQLスニペット-
显示创建表
,ALTER TABLE
,创建表
など,特定の共通スニペット。テーブル名——アクティブなスキーマがあり,データベース名キャッシュが無効になっていない場合,アクティブなスキーマのすべてのテーブルが可能な補完として使用されます。
特別な例外として,バックティックが見つかった場合は,テーブル名のみが完了とみなされます。SQLモードでは,自動補完はコンテキストに対応していません。つまり,sql文法に基づく補完のフィルタリングはありません。つまり,オートコンプリート选取
は选择
を返しますが,自拍というテーブルを含めることもできます。
JavaScriptモードとPythonモードの両方で,完了する文字列は,“タブ”が押されたときに現在のカーソル位置から右から左に決定されます。メソッドコール内のコンテンツは無視されますが,構文的に正しい必要があります。つまり,文字列,コメントおよびネストされたメソッドコールはすべて適切にクローズされ,バランスがとれている必要があります。これにより,連鎖メソッドを適切に処理できます。たとえば,次のように発行するとします:
print (db.user.select()。Where("用户在('foo', 'bar')").e
“タブ”キーを押すと,自動補完でテキスト其中()即db.user.select ()
の完了が試行されますが,この無効なコードでは未定義の動作が発生します。.
で区切られたトークン間の空白(改行を含む)は無視されます。
デフォルトでは,自動完了エンジンは有効になっています。このセクションでは,オートコンプリートを無効にする方法および\重复
MySQL Shellコマンドの使用方法について説明します。オートコンプリートでは,MySQL壳が認識しているデータベース名オブジェクトのキャッシュが使用されます。オートコンプリートが有効な場合,この名前キャッシュは自動的に更新されます。たとえば,スキーマをロードするたびに,自動補完エンジンはスキーマ内のテキストオブジェクトに基づいて名前キャッシュを更新し,テーブル名などをオートコンプリートできるようにします。
この動作を無効にするには,次のようにします:
——no-name-cache
コマンドオプションを使用してMySQL Shellを起動します。MySQL Shellの実行中に自動補完が無効になるように,
shell.options
のautocomplete.nameCache
およびdevapi.dbObjectHandles
キーを変更します。
オートコンプリート名キャッシュが無効になっている場合は,\重复
を発行して,テキストオブジェクトのオートコンプリートが認識するように手動で更新できます。これにより,現在アクティブなスキーマに基づいて名前キャッシュが強制的にリロードされます。
MySQL Shellの実行中にオートコンプリートを無効にするには,次のshell.options
キーを使用します:
autocomplete.nameCache:布尔
は,sqlで使用するオートコンプリート名キャッシュを切り替えます。devapi.dbObjectHandles: boolean
は,db.mytable
、db.mycollection
などのX DevAPIdb
オブジェクトで使用するオートコンプリート名キャッシュを切り替えます。
両方のキーがデフォルトで真正的
に設定され,——no-name-cache
コマンドオプションが使用されている場合は假
に設定されます。MySQL壳の実行中にSQLのオートコンプリート名キャッシュを変更するには,次のコマンドを発行します:
shell.options [' autocomplete.nameCache '] = true
\重复
コマンドを使用して,名前キャッシュを手動で更新します。
MySQL壳の実行中にJavaScriptおよびPythonのオートコンプリート名キャッシュを変更するには,次のコマンドを発行します:
shell.options [' devapi.dbObjectHandles '] = true
再度、\重复
コマンドを使用して,名前キャッシュを手動で更新できます。