2011-04-26
データベースというものは、MySQL のような DBMS そのものと対話して操作することが基本で、その時に用いる操作のためのコマンド体系が SQL というわけです。ただ、自前でサーバーを管理している場合ならば別ですが、Web サーバーで運用するような場合は良くても SSH (Telnet) を通じて遠隔操作することになりますし、レンタルサーバーの場合にはシェルアカウントを開放していない場合も十分にありえます。
MySQL と直接対話しないでデータベースを操作したい場合は、CGI 経由で SQL コマンドを発行する手法が考えられます(いわゆる「ストアド・プロシージャ」の一種)。Perl 言語の場合それを行うためのライブラリとして、Perl DBI 標準モジュールを使って CGI プログラムを組めば実現可能です。
5年前僕はまさしくそのような理由で、データベース管理用のオリジナル CGI を作成しました。この作成を通じて色々と勉強にもなったので無駄ではなかったのですが、ある意味不幸なことでもありました。その頃僕が利用していた有料レンタルサーバー(BiG-NET)では MySQL を試験導入したばかりで(今なお試験導入状態のようですが……)、MySQL に関する環境が充実していなかったのが一つの原因です。今利用しているさくらインターネットでは phpMyAdmin という「CGI 経由でデータベース管理操作を行う」という目的を実現した定番ツールが用意されていて、何も自前でツールをゼロから作るような真似はする必要はなかったのです(不幸なことに、BiG-NET 環境において僕は phpMyAdmin というものの存在を知るきっかけ自体が得られなかったわけでした)。
ともかく、phpMyAdmin が利用可能な環境では「phpMyAdmin 様を使っとけば大丈夫!」といった感じです。データベースを丸ごとファイルにバックアップすることも、バックアップしたファイルから再びリストアすることも可能ですし、あるテーブルの一部のデータをピンポイントで追加・修正・削除することも可能ですし、ともかく SQL コマンドを通じて操作可能なことは全部できるようになっていると思います。そもそも SQL 文自体を phpMyAdmin のフォームからそのまま入力して実行させることだってできるようになっています。

mihr.net::comp::lang::DB