MySQLとは〜初心者向け解説〜

MySQLプログラミング

MySQLとは

MySQLはよOracle社が開発。提唱している、オープンソースRDBMS(リレーショナルデータベース管理システム)です。

公式サイト

まず予備知識として、データベースと、SQLについて詳しく書いていますのでこちらの記事をどうぞ

データベース〜基本情報技術者合格のための学習法〜
SQL〜基本情報技術者合格のための学習法〜

MySQLとSQLの違い

MySQLはデータベースを管理するためのシステムの一つで、SQLはデータの追加や削除などデータベースの基本的な操作を行うデータベース言語です。

MySQLの特徴

拡張性と柔軟性が高い

  • 小規模なアプリ開発から大規模なアプリ開発まで幅広く対応できるデータベースです。
    またLinux・macOS・WindowsなどさまざまなOS環境下で作れます。

ストレージエンジンが充実している

  • データベースごとにストレージエンジンを切り替えることができます。

高い信頼性

  • バックアップを取るための取るためのコマンドが用意されているため、定期的にコマンドを実行するプログラムを設定しておけば、毎日バックアップ用のファイルを作成することも可能です。
    またバックアップをもとにデータを復元することも可能です。

強力なセキュリティ

  • 接続できるIPアドレスを指定でき、知らない人からのアクセスを防ぐことができます。
    SSL/TLSが使用でき暗号化して通信ができます。

ストレージエンジンとは

データベースの作成、更新、削除などデータの読み書きを行う機能です

ストレージエンジンの種類
参考サイト
MySQL リファレンスマニュアル:第 15 章 代替ストレージエンジン

エンジン特徴
InnoDBmysql5.5以降はデフォルトで指定されています
行ロックを行うので更新/参照の競合が限定的になります。
トランザクション機能があるのでリカバリが楽で、 堅牢性が高いです。
MyISAMよりは速度が劣ります。
MyISAMInnoDBと比較されるもう一つのストレージエンジンです。
データファイルとインデックスファイルの2ファイルで保存されます。
テーブルロックをかけるので、複数のクライアントからの同時更新でロックが発生します。
アクセスが早いですが、 トランザクション機能がないのでがリカバリが面倒で、 InnoDBよりテーブルサイズが小さいです。
MEMORYメモリにデータを格納するエンジンです。
インデックスの種類として、b treeとhashの2種類が存在します。
データをメモリ上に展開して保存するため再起動などで、データが失われます。
メモリ上にあるためアクセスが高速です。
MERGE複数のMyISAMを統合したエンジンです。
CSVsqlのデータをcsvファイルとして扱うことができます。
Federatedローカルにデータを保存せず、別のネットワークのMySQLデータにアクセスし、リモートを参照するエンジンです。

クエリ

クエリとはデータベース検索での命令のことです。
データベース管理システム上でデータの取り出しや削除、更新などの処理要求をするための命令のことで、日本語で「問い合わせ」という意味です。

データベースから、データを取得するには「SELECT」を用います。
詳しくはこちらの記事をご覧ください。
データベース〜基本情報技術者合格のための学習法〜

SQLとクエリ(SQL文)の違い

SQL:データベースを操作するための言語
クエリ:SQLを実行したときにデータベースに送る命令文

コメント

タイトルとURLをコピーしました