MySQL 入門チュートリアル 2 - クエリの開始とクエリ コマンドの終了

黄舟
リリース: 2017-02-23 11:26:13
オリジナル
1412 人が閲覧しました

前のセクションで説明したように、サーバーに接続していることを確認してください。サーバーに接続してもデータベースは選択されませんが、問題ありません。クエリの方法の基本を理解することは、テーブルの作成、テーブルへのデータのロード、テーブルからのデータの取得にすぐに取り組むよりも重要です。このセクションでは、コマンド入力の基本原則について説明します。いくつかのクエリを使用して、mysql がどのように機能するかを理解することができます。

これは、サーバーにバージョン番号と現在の日付を伝えるように要求する簡単なコマンドです。 mysql> プロンプトで次のコマンドを入力し、Enter キーを押します:

mysql> SELECT VERSION(), CURRENT_DATE; +-----------------+--------------+
| VERSION()       | CURRENT_DATE |
+-----------------+--------------+
| 5.1.2-alpha-log | 2005-10-11   |
+-----------------+--------------+
1 row in set (0.01 sec)
mysql>
ログイン後にコピー

この質問では、mysql のいくつかの側面について説明します:

· コマンドは通常、セミコロンが後に続く SQL ステートメントで構成されます。 (セミコロンを必要としない例外もあります。前述の QUIT は一例です。他の例は後で説明します。)

・コマンドが発行されると、mysql はそれをサーバーに送信し、実行結果を表示します。 , 次に、別の mysql> を表示して、他のコマンドを受け入れる準備ができていることを示します。

· mysql クエリ出力をテーブル (行と列) に表示します。最初の行には列のラベルが含まれており、後続の行はクエリ結果です。通常、列ラベルはデータベース テーブルから取得した列の名前です。 (前の例のように) テーブルの列の値ではなく式を取得する場合、mysql は式自体で列にタグを付けます。

· mysql は返された行数とクエリにかかった時間を示し、サーバーのパフォーマンスの一般的なアイデアを提供します。これらの値は (CPU やマシン時間ではなく) クロック時間を表し、サーバーの負荷やネットワーク遅延などの要因の影響を受けるため、これらの値は不正確です。 (簡潔にするため、この章の他の例では「コレクション内の行」は表示されません。)

キーワードを大文字と小文字で入力する機能 (大文字と小文字は区別されません)。次のクエリは同等です:

mysql> SELECT VERSION(), CURRENT_DATE; mysql> select version(), current_date; mysql> SeLeCt vErSiOn(), current_DATE; 这是另外一个查询,它说明你能将mysql用作一个简单的计算器:
mysql> SELECT SIN(PI()/4), (4+1)*5; +------------------+---------+
| SIN(PI()/4)      | (4+1)*5 |
+------------------+---------+
| 0.70710678118655 |      25 |
+------------------+---------+
ログイン後にコピー
1 row in set (0.02 sec)
ログイン後にコピー

これまでに表示されたコマンドは、かなり短い 1 行のステートメントです。複数のステートメントを 1 行に入力できます。各ステートメントをセミコロンで区切ってください:

mysql> SELECT VERSION(); SELECT NOW(); +-----------------+
| VERSION()       |
+-----------------+
| 5.1.2-alpha-log |
+-----------------+
1 row in set (0.00 sec)

+---------------------+
| NOW()               |
+---------------------+
| 2005-10-11 15:15:00 |
+---------------------+
1 row in set (0.00 sec)
ログイン後にコピー

コマンドをすべて 1 行で指定する必要はなく、長いコマンドを複数行で入力できます。 mysql は、入力行の終わりではなく、終了セミコロンを検索することによってステートメントがどこで終了するかを決定します。 (言い換えれば、mysql は自由形式の入力を受け入れます。入力行は収集されますが、セミコロンが表示されるまで実行されません。)

簡単な複数行ステートメントの例を次に示します:

mysql> SELECT     -> USER()     -> , -> CURRENT_DATE; +---------------+--------------+
| USER()        | CURRENT_DATE |
+---------------+--------------+
| jon@localhost | 2005-10-11   |
+---------------+--------------+
ログイン後にコピー

この例では、入力後 複数行のクエリの最初の行の後、プロンプトが mysql> から -> に変化することに注目してください。これは、mysql が完全なステートメントをまだ見ておらず、残りの部分を待っていることを示しています。プロンプトは貴重なフィードバックを提供するための友人であり、これを使用すると、mysql が何を待っているかを常に知ることができます。

入力中のコマンドを実行したくない場合は、 c を入力してキャンセルします:

mysql> SELECT     -> USER()     -> \c mysql>
ログイン後にコピー

ここのプロンプトにも注目してください。c を入力すると、mysql> に戻り、それを示すフィードバックが提供されます。 mysql 新しい注文を受け取る準備をします。

次の表は、表示されるさまざまなプロンプトを示し、それらが表す mysql のステータスを簡単に説明します。

新規を受け入れる準備ができています指示。 一重引用符 ("'") で始まる文字列の終わりを待って、次の行を待ちます。 二重引用符 (""") で始まる文字列の終わりを待って、次の行を待ちます。 バックスラッシュ ドット (‘`’) で始まる識別子の終わりを待って、次の行を待ちます。 /* で始まるコメントが終わるまで次の行を待ちます。
->複数行のコマンドの次の行を待ちます。 '>
">
`>
/*>

当你打算在一个单行上发出一个命令时,通常会“偶然”出现多行语句,但是没有终止分号。在这种情况中,mysql等待进一步输入:

mysql> SELECT USER()     ->
ログイン後にコピー

如果出现这种情况(你认为输完了语句,但是只有一个->提示符响应),很可能mysql正在等待分号。如果你没有注意到提示符的提示,在意识到你需要做什么之前,你可能会呆坐一会儿。输入一个分号完成语句,mysql将执行:

mysql> SELECT USER()    -> ; +---------------+
| USER()        |
+---------------+
| jon@localhost |
+---------------+
ログイン後にコピー

在字符串收集期间将出现 '> 和 "> 提示符(提示MySQL正等待字符串的结束)。在MySQL中,可以写由‘'’或‘"’字符括起来的字符串 (例如,'hello'或"goodbye"),并且mysql允许输入跨越多行的字符串。当看到一个 '> 或 "> 提示符时,这意味着已经输入了包含以‘'’或‘"’括号字符开始的字符串的一行,但是还没有输入终止字符串的匹配引号。这显示你粗心地省掉了一个引号字符。例如:

mysql> SELECT * FROM my_table WHERE name = &#39;Smith AND age < 30;     &#39;>
ログイン後にコピー

如果你输入SELECT语句,然后按Enter(回车)键并等待结果,什么都没有出现。不要惊讶,“为什么该查询这么长呢?”,注意">提示符提供的线索。它告诉你mysql期望见到一个未终止字符串的余下部分。(你看见语句中的错误吗?字符串"Smith丢掉了第二个引号。)

走到这一步,你该做什么?最简单的是取消命令。然而,在这种情况下,你不能只是输入\c,因为mysql作为它正在收集的字符串的一部分来解释它!相反,应输入关闭的引号字符(这样mysql知道你完成了字符串),然后输入\c:

mysql> SELECT * FROM my_table WHERE name = &#39;Smith AND age < 30;     &#39;> '\c mysql>
ログイン後にコピー

提示符回到mysql>,显示mysql准备好接受一个新命令了。

`> 提示符类似于 '> 和"> 提示符,但表示你已经开始但没有结束以`> 开始的识别符。

知道'>和">提示符的含义很重要,因为如果你错误地输入一个未终止的字符串,任何后面输入的行将要被mysql忽略--包括包含QUIT的行!这可能令人相当困惑,特别是如果取消当前命令前还不知道你需要提供终止引号。

 以上就是MySQL入门教程2 —— 输入查询及退出查询命令的内容,更多相关内容请关注PHP中文网(www.php.cn)! 


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート