MySQLの終了ステートメント(デリミタ)を変更する方法
MySQLでは、ストアドプロシージャやトリガーなどを作成する際、処理の中にセミコロン(;)が含まれるため、デフォルトの終了記号のままでは正しく実行できないことがあります。そんなときは、DELIMITERコマンドを使って、文の終了記号を任意の記号に変更しましょう。
DELIMITERコマンドの基本構文
DELIMITER 任意の記号
上記の「任意の記号」の部分には、自由に設定したい記号を指定できます。デフォルトの終了記号は「;」(セミコロン)で、一般的には「//」や「$$」などがよく使われます。
実際の使用例
それでは、まず終了記号を「//」に変更してテーブルを作成してみましょう。
mysql> DELIMITER //
mysql> create table DemoTable
-> (
-> Id int,
-> Name varchar(20)
-> )//
Query OK, 0 rows affected (0.52 sec)
次に、insertコマンドを使用して、テーブルにレコードを挿入します。
mysql> insert into DemoTable values(100,'Chris')//
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable values(101,'David')//
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values(102,'Bob')//
Query OK, 1 row affected (1.07 sec)
続いて、select文を使ってテーブル内のすべてのレコードを表示します。
mysql> select * from DemoTable //
実行すると、以下のような出力が得られます。
+------+-------+
| Id | Name |
+------+-------+
| 100 | Chris |
| 101 | David |
| 102 | Bob |
+------+-------+
3 rows in set (0.00 sec)
このように、DELIMITERコマンドを使えば文の終了記号を簡単に変更できます。なお、作業が完了した後は「DELIMITER ;」と入力して、デフォルトのセミコロンに戻しておくことをおすすめします。
-
MySQLルートパスワードをリセットまたは変更する方法【ALTER USERコマンド解説】
MySQLのrootパスワードをリセットまたは変更するには、まず管理者モードでMySQLにログインする必要があります。ログイン後、mysqlデータベースに切り替えて、登録されているすべてのユーザーとホスト情報を確認できます。 1. ユーザー一覧の確認 以下のクエリを実行して、現在存在するユーザーとホストの一覧を表示します。 SELECT user,host FROM user; 実行結果は次のとおりです。 +------------------+-----------+ | user | host | +------------------+------
-
MySQLで項目の順序を並べ替える方法|ORDER BY句とエイリアス名の活用
MySQLで取得結果の項目を任意の順序で並べ替えたい場合は、ORDER BY句にエイリアス(別名)を指定するのが便利です。この記事では、サンプルテーブルを作成し、計算結果のエイリアスを基準にソートする方法を具体的な手順とともに解説します。1. サンプルテーブルの作成まず、2つの数値カラムを持つテーブルを作成します。mysql> create table DemoTable653 (Product1Amount int,Product2Amount int); Query OK, 0 rows affected (0.42 sec)2. レコードの挿入次に、INSERT文を使ってサンプルデ