MySQLその2

超基本的なSQL文とか。
●概念的な構成というか
MySQLでは、データベースという塊を管理し、データベースはテーブルという塊で構成される。テーブルは列(カラム)で構成され、列にデータが保管される。列は、数値型、文字列型、ENUM型、BLOB型、日付・時刻型、ビット型などがある。
スーパーで果物の価格表を作ろうとした場合、”ショップ”というデータベースを作成し、”果物”というテーブルを作成する。テーブルは、文字列型の”フルーツ名”の列と数値型の”価格”の列を持つことになる。
●データベースの作成・削除
CREATE DATABASE shop; で作成できる。
DROP DATABASE shop; で削除となる。
SHOW DATABASES; でデータベースの一覧を表示できる。
●データベースの使用
明示的に使用するデータベースを指定しておくとSQL文中にデータベース名を省略できる。
USE データベース名; で使用するデータベースを変更する。
●テーブルの作成・削除
CREATE TABLE テーブル名 (列1…); で作成する。
列は、列名 属性のペアで指定する。名前だけ指定することも出来るらしいが明示的に作っておくのがいいかも。
DROP TABLE テーブル名; で削除となる。
SHOW TABLES; でテーブルを一覧できる。
SHOW COLUMNS FROM テーブル名; でテーブルを構成する列の一覧を表示できる。
●データの挿入
INSERT INTO テーブル名 (列…) VALUE (値…); で1行挿入する。
列に該当する値を指定する。
REPLACE文でも挿入となる。使い方が若干違うので用途に応じて使う。
●データ検索
SELECT 列 FROM テーブル名;
データベースの肝とも言える検索処理。記述は用途によっていろいろ指定がある。
基本は上記のようにテーブル内の列を取得する。条件は続けて指定するようになる。
まあ、この辺りが勉強の肝になるでしょう。
●データ更新
UPDATE テーブル名 SET 列 = 値 [WHERE 条件];
WHEREなしだと列全体の値が書き換わる。大抵は条件に一致するデータを書き換えると思われる。
これも用途次第。
●データの削除
DELETE FROM テーブル名 WHERE 列 = 値;
これも用途次第でいろいろと指定されると思われる。基本は列の値に一致するデータでしょうね。

後は適材適所なSQL文を書けるようになれば使いこなせる。それからトランザクション、ロックの仕組みと制御方法も理解しおかないとオンラインストアなどのアプリは作れないよね。管理面だとバックアップとか最適化とか運用面のやり方も勉強しておく必要がある。プログラミングだけなら管理面は不要かもしれませんけど、障害調査でログの見方とか状態を把握できないと調べられないしね。
設計面だとレプリケーションのやり方や注意事項も調べないといけない。覚えるべきことは山とあるけどとりあえずは上記の調べたところまで覚えて使いこなせるようにならないとダメかもね。