MySQLは複数行に分けて書かれたSQLステートメントをどのように評価・実行するのか
実際のところ、MySQLはステートメントの終わりを示すセミコロン(;)を受け取った時点で、初めてそのステートメントが完了したと判断します。そのため、1つのSQLステートメントを複数行に分けて記述しても問題なく動作します。
具体的には、ステートメントを複数行で入力している途中、最初の行を書き終えた直後に、プロンプト表示は「mysql>」から「->」へと即座に切り替わります。この「->」という表示は、MySQLがまだ完全なステートメントを受け取っておらず、続きの入力を待機している状態であることを示しています。そして、最後にセミコロンが入力された時点で、MySQLはそれまでの入力全体をひとつのステートメントとして実行します。
この仕組みにより、長いクエリや複雑なJOIN句などを含むSQL文でも、見やすい形で複数行に整形して入力できるというメリットがあります。
例
以下の例では、SELECT文を4行に分けて入力しています。各行の先頭に「->」が表示されているのが確認でき、最後のセミコロンを入力した瞬間にクエリが実行され、結果セットが返されています。
mysql> Select Id, Name
-> From
-> Student_info
->;
+------+---------+
| Id | Name |
+------+---------+
| 101 | YashPal |
| 105 | Gaurav |
| 125 | Raman |
| 130 | Ram |
| 132 | Shyam |
| 133 | Mohan |
| 150 | Saurabh |
+------+---------+
7 rows in set (0.07 sec)このように、MySQLのステートメントの区切りは改行ではなくセミコロンで判定されるため、改行やインデントを自由に使って可読性の高いSQLを記述することができます。
-
【MySQL入門】別のユーザーとしてログインする方法をわかりやすく解説
MySQLで別のユーザーとしてログインしたい場合は、mysql -u ユーザー名 -p コマンドを使用します。この記事では、新しいユーザーの作成から、作成したユーザーでのログイン方法まで、手順を追って詳しく解説します。別のユーザーとしてログインするための基本構文別のユーザーとしてMySQLにログインする際の基本構文は以下の通りです。> mysql -u yourUsername -pEnter password:コマンドを実行してEnterキーを押すと、パスワードの入力を求められます。ここに該当ユーザーのパスワードを入力すればログインできます。ステップ1:新しいユーザーを作成するまずは、
-
MySQLの終了ステートメント(デリミタ)を変更する方法
```html MySQLでは、ストアドプロシージャやトリガーなどを作成する際、処理の中にセミコロン(;)が含まれるため、デフォルトの終了記号のままでは正しく実行できないことがあります。そんなときは、DELIMITERコマンドを使って、文の終了記号を任意の記号に変更しましょう。DELIMITERコマンドの基本構文DELIMITER 任意の記号上記の「任意の記号」の部分には、自由に設定したい記号を指定できます。デフォルトの終了記号は「;」(セミコロン)で、一般的には「//」や「$$」などがよく使われます。実際の使用例それでは、まず終了記号を「//」に変更してテーブルを作成してみましょう。mysq