![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
いつもお世話になっております。
いつも調べてはいるのですが、わからず困っております。
mysqlコマンドで-eを付けて、次のようにコマンドプロンプトでクエリを実行します。
mysql db1 -u root -p**** -e 'SELECT * FROM tb1'
すると失敗するのですが、シングルクォーテーションをダブルクォーテーションにすると実行できます。
mysql db1 -u root -p**** -e "SELECT * FROM tb1"
コマンドプロンプトでは" "にしなければいけないのでしょうか。
どなたかヒントでもけっこうですので、お教えいただけないでしょうか。
どうか、よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
MySQL 4.1の日本語版マニュアルには、この辺の記述が見当たりませんでした。
MySQL 5.1の日本語版マニュアルには、この辺について記述がありました。http://dev.mysql.com/doc/refman/5.1/ja/mysql-com …
↓(リンク先)
http://dev.mysql.com/doc/refman/5.1/ja/command-l …
「ステートメントはシングル、またはダブルの引用符で囲まれている必要があります。もしこの引用符内の値を使用したい場合には、ステートメントにダブルの引用符を使用し、シングルの引用符をステートメント内の値のうちのいづれかに使用します。」
とあり、これを見ると、「シングルクォーテーションはだめ」とは読み取れません。ただし、SQL中に文字定数を指定する場合は、「ステートメント全体はダブルクォーテーションで囲み、文字定数はシングルクォーテーションで囲む」と読めます。
-e "select * from t1 where c1 like 'abc%'"
といった使い方ですね。
ちなみに、MySQL 5.1の英語版では、「The statements must be enclosed by quotation marks. 」としか記述がありません。
chukenkenkouさん、恐縮です。
本当にいつもいつも、申し訳ありません。
やはりシングルでも、MySQL側は問題ある、ということではないのですよね。
ありがとうございます。感謝しております。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_15.png?5a7ff87)
No.3
- 回答日時:
コマンドプロンプトってwindowsのですよね?
windowsのcommand.comが、ブランクを含む文字列をひとつながりの引数として解釈するために、ダブルクォートが必要です。
MySQLは、そこで解釈された後の引数を受け取るので、statment外側のクォートが何であったかは関知しません。
そして、statment内の文字列指定に、シングルが使えるので、コマンドライン入力でも内部のクォートをいちいちエスケープしなくても簡単に外側と区別して記述できると言うことです。
ご回答ありがとうございます。
「ブランクを含む文字列をひとつながりの引数として解釈」する
ということなのですね。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL PhpMyAdminで作成して実行せよ。 東京23区を、皇居を中心とした4つのエリア(南東, 南西, 1 2023/06/11 11:58
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- Access(アクセス) 実行時エラー3131 FROM 句の構文エラーです について 7 2022/06/13 15:45
- MySQL mysqlがインストールされているのかどうか 1 2023/06/05 14:19
- その他(プログラミング・Web制作) mariadbでのエラー 1 2022/11/15 12:31
- MySQL SQLです。下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「昨年の各月の総降 1 2023/07/01 00:32
- MySQL mysqlがインストールされているのかわかりません 1 2023/06/05 02:26
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- MySQL MySQLのテーブル作成でハイフン - は使用できないのでしょうか? 2 2022/10/21 16:50
- MySQL 共通点はあります。何が違うのでしょうか? 1 2023/01/27 05:22
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
mysqlへのインポート処理がうま...
-
Usage: \\.<filename> | sourc...
-
MYSQLへのデータサイズの大きな...
-
cseデータ閲覧時に文字化け
-
MySQLのデータの互換性は?
-
mysqlのmatch() against()で検...
-
接続ができません
-
SQLのVARCHARとVARCHAR2の違い
-
MySQLカラム名は日本語と英数字...
-
postgreSQLのデータ型
-
INT型は金額の型に使用するべき...
-
like句を使って日本語を検索す...
-
ERROR 1045 (28000) (using pas...
-
副問合せにLIKE文を使う方法は...
-
AccessからOrcleのODBCリンクテ...
-
VBAで変数内に保持された二次配...
-
ODP.NETのバージョン確認
-
テーブル作成でエラーが出てき...
-
MySQLに外部PCから接続できない
-
Float型の時の計算結果がおかしい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
シングルクォーテーションとダ...
-
mysqlへのインポート処理がうま...
-
mysqlコマンドでSQL文が実行で...
-
cseデータ閲覧時に文字化け
-
MySQLでのデータ保存場所の変更
-
ERROR 1054 (42S22) 原因不明です
-
Usage: \\.<filename> | sourc...
-
MySQLのLOAD DATA INFILEコマン...
-
postgre ⇒ mysql にした場合...
-
SELECTした値との比較
-
"文字列"? > CSVデータをMySQL...
-
接続ができません
-
SQLのVARCHARとVARCHAR2の違い
-
副問合せにLIKE文を使う方法は...
-
MySQLカラム名は日本語と英数字...
-
ODP.NETのバージョン確認
-
旧filemakerで和暦(令和など)...
-
VBAで変数内に保持された二次配...
-
プライマリーキーの昇順でソー...
-
ERROR 1045 (28000) (using pas...
おすすめ情報