Mac で MySQL:
インストール、初期設定、インポート/エクスポートなど

informatics/mac/mysql
2018/09/11 更新


  1. 概要: MySQL とは
  2. Homebrew を使ってインストール
  3. データの作成と追加
    • Database の作成
    • Table の作成、各種設定
    • データを Table に追加する

広告

概要: MySQL とは

更新予定。

データベースで、使ったことのあるものの中では R または MATLAB に似ている。つまりテーブル状の行列の中に、数字や文字列などの形式を指定されたデータが格納されている。

htmlphp と相性が良く、検索が早いのが特徴らしい。また、同じ理由でユーザー参加型のウェブサイトにも使われる。つまり、ユーザーの書き込みなどがサーバー中にある MySQL に格納され、Web ページとして読み出されているわけである。

私も誤解していたが、商用利用でもライセンス料は不要である (1,2)。


Homebrew を使ってインストール

このページ に従い、以下のコマンドを ターミナル で順に実行した。2018 年 9 月、OS は High Sierra。

Homebrew と Xcode が必要。なければ検索して公式ページからインストールしておくこと。

  • brew update
  • brew install mysql
  • brew info mysql でインストールされたバージョンの確認などができる。

以下のように、とりあえず立ち上げと終了を行ってみる。

  • mysql.server start で起動。成功すると SUCCESS! というメッセージ。
  • mysql -uroot で root ユーザーとしてログイン。プロンプトが mysql> に。
  • mysql> exit で終了。

セキュリティのため、root ユーザーのパスワード設定など。

  • mysql_secure_installasion とする。基本は全て Yes で。
  • これがうまくいくと、ログインコマンドは mysql -uroot -p になる。

MySQL のパスは /usr/local/bin である。bin の中にコマンドがあることを確認しておいてもいいかもしれない。データの保存場所は /usr/local/var で、database に対応したフォルダが作成される。


広告

データの作成と追加

MySQL では、database の中に table があるという構造になっている。このページ を参考に、データベースの作成からデータの追加まで。

Database の作成

mysql> show databases;

これで現在あるデータベースの一覧を見ることができる。セミコロンは命令終了を意味する (3)。とりあえず、 test_database という新しいデータベースを作成し、それを使うことにする。

mysql> create database test_database;
mysql> use test_database

参照先サイトでは大文字になっているが、コマンドは小文字で OK。

データベースを消すときは drop database databasename; を実行する。


Table の作成、各種設定

次に、test_database 内に test_table を作ってみる。データ形式の指定が入るので、やや複雑になる。

mysql> create table test_table (
id integer not null auto_increment,
title varchar(20) not null,
primary key(id)
);

この意味するところは、2 列のテーブルを作り、1 列目は id、2 列目は title とするということである。

Excel のイメージから「列」と書いたが、実際には id と title は field と呼ばれる。

mysql> describe test_table;

で、テーブルの構造を確認することができる。ターミナル上に次のように表示される。また、データベース内のテーブルを一覧表示したい場合は show tables; である。

この表を理解するのに重要な情報を以下にまとめた (3)。

まず、type はデータ型であり、大きく数値、文字列など、および時刻に分けることができる。

int (integer)

整数。int (11) のようなカッコ内の数字はバイト数のようだ。

double

浮動小数点数

bool (boolean)

真偽値

varchar

可変長の文字列、65,535 字まで。これは行全体のバイト数の最大値らしい (4)。基本的には、記憶域を節約できる varchar の方が char よりも望ましい。

カッコ内の数字は上限のバイト数のようだ。使用される文字コードによって、何文字とは言えない。2 と 255 はディスク上の同じ容量を使用するので、255 または 256 に設定する場合が多いようである。

データ入力の際、これを超えた分はカットされるようだ。

char

固定長の文字列、255 字まで。足りない部分は空白になるが、通常の設定では取り出すときに空白は削除される。

text

varcher 型ではデータベース内に文章が格納されるが、text 型では外部に保存され、データベースではそれを参照するという形になるようだ (5)。

よって読み出しの速度は varcher が勝るが、MySQL データベースにはサイズ制限がある場合もあるので (X server なら 1 GB)、大きなデータベースを想定している場合は text が良いのかもしれない。

blob

バイナリデータ

datetime

日時

date

日付

time

時刻


データを Table に追加する


広告

コメント欄

フォーラムを作ったので、各ページにあるコメント欄のうち、コメントがついていないものは順次消していきます。今後はフォーラムをご利用下さい。管理人に直接質問したい場合は、下のバナーからブログへ移動してコメントをお願いします。


References

  1. mysqlでライセンス料の支払い義務が発生するタイミング. Link: Last access 2018/09/11.
  2. MySQLを商用利用すると無料で使えないという都市伝説. Link: Last access 2018/09/11.
  3. Amazon link: できる PROシリーズ, できる MySQL.
  4. MySQLのデータ型の後にある括弧について. Link: Last access 2018/09/11.
  5. テキストにはVARCHAR型と?TEXT型のどちらを使うべきか? Link: Last access 2018/09/16.