reponの忘備録

「喉まででかかってる」状態を解消するためのメモ

LAMPのお勉強日記 (16)

LAMP環境のお勉強日記

目的

  • 自分が何をやったのか記録する
  • 自分が何を出来るのか公開する

経過

まず、MySQLの勉強をする(その後、PHPとの連携の勉強に移る予定)。

XAMPPにより、コマンドプロンプトで作業する。

リレーショナルデータベースとは(再掲)



はじめに

MySQLモニタに入る。
コマンドプロンプト

>mysql -u root -p
Enter password:[パスワード]
mysql>

使用するデータベースを指定する

mysql>use db1

今回学んだこと

トランザクション」について

複数の処理をまとめて扱う機能。この処理を、確定する操作を「コミット」、反映しないで元に戻す動作を「ロールバック」という。

ストレージエンジン

MySQLは複数の、実際の処理を行う機能=「ストレージエンジン」を持っており、トランザクションに対応しているものとしていないものがある。

ストレージエンジン 特徴
MyISAM もっともよく利用されるもの。高速(デフォルト)
InnoDB トランザクションに対応。MyISAMよりは処理が遅い
Falcon 新しいストレージエンジン。トランザクションに対応

その他、いくつかのエンジンがある。


とりあえず使うのは、「MyISAM」と「InnoDB」。

ストレージエンジンの確認
mysql> show create table tb \G
*************************** 1. row ***************************
       Table: tb
Create Table: CREATE TABLE `tb` (
  `bang` varchar(10) DEFAULT NULL,
  `uria` int(11) DEFAULT NULL,
  `tuki` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1


※「\G」を使うとカラムごとに表示され、見栄えが良くなる。
※なぜか、CHARSETがlatin1である。多分このため日本語が使えていないのだと思われる。
ストレージエンジンの変更
mysql> alter table tb engine=InnoDB;
トランザクションの実際
  • 元に戻す「rollback;」
  • 反映する「commit;」
「自動コミット機能」をオフにする

通常、SQL文を実行するとその結果はデータベースに反映されるが、これは自動的に「コミット」されているとも言える。

このことを「自動コミット機能」と呼ぶ。

「自動コミット機能」は停止することも出来る。

  • 「自動コミット機能」の停止「set autocommit=0;」

この場合、「commit;」しないでMySQLを終了させればそれまでの作業は反映されないので注意が必要。

  • 「自動コミット機能」の再開「set autocommit=1;」
トランザクションの利用できる範囲

以下のコマンドでは、自動的にコミットが行われてしまう。


今回はここまで。


次回は「ファイルを使ったやりとり」

おしらせ

つながり合うSNS


http://survive-sns.jp/


ぜひお気軽にご参加ください。


サーバを新たに立て、一新した「サバイブSNS2.0」を、どうぞ一度覗いてみてください。

人生の「旅の仲間」が見つかるかも知れませんよ。