2013-08-08 21:39:05 +0000 2013-08-08 21:39:05 +0000
39
39
Advertisement

MySQLのコマンドプロンプトを終了するには?

Advertisement

MySQLをインストールしました。今、私はMySQLのコマンドプロンプトの中で立ち往生しています。私はこのようにMySQLを実行しました。

C:\>mysql.exe
mysql>

その後、以下のような無効なコマンドを入力しました。

mysql> /version
    ->

何を入力しても MySQL のコマンドライン/ターミナルを終了できません。例えば、以下のようになります。

  • exit

  • CtrlC

  • CtrlD

  • quit

  • CtrlZ

  • bye

どうやってMySQLターミナルをデフォルトのターミナルに終了させるのですか?

Advertisement
Advertisement

回答 (5)

31
31
31
2015-01-10 14:13:49 +0000

他の回答に加えて、現在の無効なクエリをセミコロンで終了させることができます。

mysql> /version
    -> ;
ERROR 1064 (42000): You have an error in your SQL syntax.........
mysql> exit
Bye

c:\mysql\bin>

または、\G (行を垂直方向に表示させるためのものです)を使用します:

mysql> /version
    -> ;
ERROR 1064 (42000): You have an error in your SQL syntax.........
mysql> exit
Bye

c:\mysql\bin>

もちろん、どちらのオプションも最初の引用符がないことを前提としています。もしある場合は、まずエンディング引用符で閉じなければなりません。

20
20
20
2013-08-08 21:40:45 +0000

Windows で ctrl-c が mysql の入力モードを終了しないのはなぜですか?

終了コマンドを有効な入力として解釈するようにMySQLに指示しているからです。

MySQLターミナルでわかりにくいのは、シングルクォート、ダブルクォート、ノーマルモードのモードがあるからです。

そのため、mysql入力モードから抜け出すには、以下の手順を実行する必要があります。

1.ダブルクォートモードから抜け出す。 2. シングルクォートモードから抜け出す。 3. mysqlモードから抜ける。 4. mysql を終了してデフォルトのターミナルに戻る。

最も基本的な例:

mysql> /version
    ->
    ->
    ->
    -> \c
mysql> exit
Bye

C:\>

上記の例ではデフォルトモードを抜けていないので、終了コマンドは正しく動作します。

mysql> hello
    ->
    -> look dash is on the left"
    "> In doublequote mode now, because doublequote above
    "> adding another doublequote breaks you out: "
    -> look a single quote ' here
    '> in single quote mode now.
    '> get out, in, then out again with three singlequotes: '''
    -> now it will listen to your escape code: \c
mysql> exit
Bye

C:\>

シングルクォーテーションモードまたはダブルクォーテーションモードの間は、エスケープシーケンスは無視されます。これらのモードでは、Ctrl-CやCtrl-Dも無視されます。

Ctrl-C がモードに関係なくプログラムを停止しないのは、26の宇宙のうちのどの宇宙のどれでしょうか?知る由もないかもしれません。バジンガ。

1
Advertisement
1
1
2018-12-18 12:37:01 +0000
Advertisement

SQLは複数行で入力されたクエリをサポートしています。セミコロン;を入力した場合のみ、クエリが実行されます。また、クエリ内の文字列を終了させておく必要があります。

ワープロパッケージから文字列を含むクエリをコピー&ペーストする際には注意してください - 引用符が「スマートクォーテーション」に置き換えられている可能性があります。

終了していないクエリを入力した場合、クエリは実行されません。コマンドプロンプトは、クエリを終了するために必要な入力が表示されるように変わります。例えば、引用符や二重引用符が必要な場合があります。これは強力でコマンドプロンプトは便利ですが、このスレッドの回答やコメントを読むまでは混乱していました。 ここで仕様を読む

‘トップレベル'プロンプトは以下の通りです。

mysql>

これが表示されたら、コマンドを入力して ; で終わらせてエンターキーを押します。

このようなプロンプトが表示された場合。

'>
">
->

と表示されたら、MySQL は文字列を引用符またはセミコロンで終了させるのを待っています。

\c

これは意図しないクエリを終了して実行するよりも安全だと思います。この後、あなたは >プロンプトに戻り、次のようにして終了することができます。

exit
1
1
1
2019-01-31 16:42:07 +0000

\qは私のために仕事をしてくれます。Ubuntuのターミナルを使用しています。

0
Advertisement
0
0
2018-10-30 12:37:35 +0000
Advertisement

Ctrl+Shift+Dで脱出を試みることができます。

Advertisement

関連する質問

3
19
10
28
6
Advertisement