MySQL/基本操作

XAMPPのコントロールパネル画面で、Apache と MySQLを両方とも「Start」起動したあとに、MySQL関連項目の「Admin」を押すことで、 phpmyadmin というアプリを起動できる。
この phpmyadmin というアプリが、webブラウザを使ってMySQLを編集するツールである。(PHP作成ツールではない。)名前にPHPとついている理由は単に、このツールがPHPで作成されているからという理由にすぎない。
という機能もあるのだが、これを使わずとも MySQL を起動できる。( phpmyadmin は画面の表示項目がとても多く、初心者には、けっこう難しい。むしろ中級~上級者向け。)
Windowsの場合、コマンドプロンプトで
の入力後、
である。 もしくは環境変数で、
を追加する方法もある。

また、このフォルダ構成のように、XXAMPPでは、XAMPPのフォルダ内にMySQL(mariaDB)のバイナリを内部に含んでいる仕組みになっており、MySQLの使用のさいには、その内部保管しているMwSQLを呼びだす仕組みになっている。
mariaDB公式サイト にWindowsのインストーラーがあるので、これをダウンロードしてきてもいい。
Windows版の mairDB をインストールしたら、一緒に HeidiSQL もインストールされますが、しばらくは HeidiSQL を起動する必要はありません。
インストーラーの指示どおりにインストールしたら、通常は下記の場所にmaiaDBの実行ファイルがインストールされる。
インストーラーを実行して終わったら、起動のためにはコマンドプロンプトを立ち上げ、下記のようにコマンド入力
これで起動する。
インストールできたと思ったら、バージョン確認をしよう。
終了の方法は・・・(※調査中)
コマンドラインから起動するのは難しいので、windowsタスクバーのスタートメニューからアイコンクリックで起動しよう。
「MySQL Client」というアプリが登録されているので、それを起動すると、インストール時の求められたMySQLパスワードを入力するコマンド画面が出てくるので、そのパスワードを入れてMySQL(mariaDB)に接続する。
MySQLサーバーを終了する場合は、単に
で良い。
もういちど「exit」すると、MySQLクライアント側も終了し、アプリのウィンドウが閉じてアプリ終了になる。
先にMySQLサーバー(mariadb-server)を起動する必要があります。
もしサーバーを起動せずにmariadbだけ起動してもエラーになり
のようなエラーメッセージが表示されるだけです。
起動コマンド
でmariaDBサーバーが立ち上がります。
立ち上がるのはサーバーなので、インストールするのは mariadb だけでなく、加えて mariadb-server もインストールしないと、失敗してしまい、「Fail」などとmariaDB が返事をします。
なので mariadb-server もインストールしましょう。

起動状態の確認コマンドは、
です。これを押すと、ターミナル(コマンド端末)画面に、確認結果の情報が列記されます。
なお、確認画面の終了方法は、qボタンです。

mariaDBサーバー終了は
です。

クライアント側は
で起動します。
クライアント側の起動を成功させるためには、先にmariadb-server を起動させておく必要があります。mariadb-serverを起動させないと、データベースへの接続エラーになり、クライアント側も起動できないです。
さて、MySQL(または mariaDB)を起動してからでないと、データベースの作成や編集などは、できないです。
mariaDB の起動に成功すると、
のようなメッセージが表示されます。
コマンドは
の > の後ろ以降に入力します。そもそも、キーボードの矢印キーでカーソルを移動しても、 > の前には移動できないです。

終了の方法は、 exit または quit で終了します。
と、MySQLからのログアウト時にサヨナラ(Bye)を言われるハズです。

でmysqlを起動した後に、

で、データベース作成できます。
セミコロン「;」を付け忘れないように、気をつけてください。
もし、セミコロン「;」を付け忘れた場合、mysql が「まだコマンド入力が終わってない」と判断して、続きの入力を待機しますので、「;」を追加するなど修正してください。またはデタラメな文字を入力したあとにワザとセミコロンを付けて終了させてから、入力をやりなおしてください。

結果として、
のように「OK」という返事が現れます。
Query(クエリ)とは、データベース用語のひとつです。


で、手元のパソコンでの MySQL 環境に存在しているデータベースの情報を閲覧できます。
たとえば「testmysql」を作成してから show databases; すると、下記のようになります。
となります。

以降に、ユーザーの作成したデータベース名が追加されます。
たとえば、さらに追加で「tesu2db」というデータベースを作成したとしましょう。 show databases; すると、下記のようになります。


いっぽう、データベースを削除する方法は、 drop databese コマンドで、このコマンドの直後に下記のように削除したいデータベース名を記述します。つまり
です。
削除に成功すると、
のように、OKの返事が出ます。
実際、show databese で確かめてみると
のように、たしかに指定した「test2db」が削除されるハズです。

で、そのデータベースに接続して、ユーザー(プログラマーであるアナタのこと)が使用や編集などをできるようになります。
接続に成功すると
のように Database changed と表示されます。

create database コマンドだけでは、データベースの入れ物を作っただけです。
まだ、中身は無い状態です。
MySQL では、右図のような、テーブル的なデータベースを作れます。(ただし、SQLだけでは画像的には表示されないです。右図は、説明のために載せています。)
MySQL でテーブルを作成する場合には手順として、useによる接続後は、まず、
右図の「元素番号」,「元素名」、「元素記号」に相当するような、タイトル部分を作らないといけません。
次のようなコマンドで作ります。
書式は
です。

なお、テーブルの削除の方法は
です。
作成したテーブル構造の情報を見る方法は、
です。
テーブルへのデータの登録のコマンドは、
のような書式になります。
たとえば、
のようになります。
テーブルに登録されたデータ内容を表示するには select 列名 from テーブル名; で表示できます。
たとえば、下記のようになります。
「 * 」とは、この場合では「すべて」を意味する、コンピュータ業界の慣用句であり、このような意味での「*」の呼び名を『ワイルドカード』と言います。
まだ、1行目しか登録してないので、1行ぶんしか表示されないですが、もし2行目以降を登録すれば、2行目以降も select で表示されるようになります。
なお、このようにして登録された「 1, Hydrogen, H 」のような、SQLテーブルの中身の情報の行(ぎょう)のことを「レコード」と言います。
さて、もしアナタが文献調査か何かで「『Helium』(ヘリウム)という元素があるという事が分かり、元素記号も「He」だと分かったが、しかし元素番号が分からない」というように、部分的にしか情報が分からなくても、部分的にだけデータを登録することも可能です。
タイトルすべてを列記する必要はなく、
のように、最初のカッコで、分かった項目の列タイトルだけを書いておけば、vaules の中身をその順番どおりに登録します。
また、select * すれば、表示結果は
となります。上記のように、未登録のデータの部分には「NULL」と表示されます。

特定のデータを検索したい場合、例えば下記のようになります。
この例では、元素番号が2のものだけを検索しています。
書式は
です。
たとえば、ヘリウムのgensomeiデータ「Helium」の行(レコード)を削除したい場合、
となります。
これをすると、消えるのは、Helium という名前に加えて、gensobangou(元素番号)の「2」も消えます。
実際、delete のあとに show してみると
のように、Helium だけでなく、元素番号「2」も消えています。

まず、use コマンドで作成済みデータベースに接続する。
その後、私たちの例なら select * from testTable; のように入力すれば良い。
のように表示される。
なお、設定の保存先は windows の場合、
C:\Program Files\MariaDB 11.1\data
である。(バージョン番号のところは、ダウンロードしたバージョンによって違う。)
そのフォルダに、私たちの作っている testtable もあるはず。
バックアップするときやコピーするときなどは、このフォルダをコピーすればいい。