いがいとかんたん、そしてたのしい。SQL文でデータベースを操ろう!(mySQL)

ウェブ制作技術

SQL

こんにちわ。夏を前に、雨がしとしとと降っています。
雨は冷たいけど思い出も涙も流すからぬれていたいの、そんな日もありますよね。
風邪ひかないようにしてくださいね。

ウェブサービスをつくっていて、諸事情により使い慣れたサーバと違うサーバで作らないといけないこと、けっこうあると思います。
最近そういう苦労がありました。

サーバが変わると大変ですよね

他のサーバで使えていたはずのPHPの関数が使えなかったり。

例えば

という関数。

これは写真データがもつ「Exif」というデータを取得して、いろいろとごにょれる技です。
「Exif」には例えば写真の撮影日とか、いろんな情報が盛り込まれています。
で、これを使って写真の向きを補正したりとかそういうことをしてました。

だけども、新しいレンタルサーバで、この関数がデフォルトで使えないという悲劇に見舞われました。

PHPなどサーバサイドのプログラムを使う場合は、サーバ環境をよーく確認しないと痛い目にあいます。
PHPのバージョンだけ確認しても足りなくて、できることならライブラリだとかモジュールとか、使いたい機能に合わせて細かく仕様を確認しておきたいものです。

phpMyAdminが使えない

ここから本題です。

データベースを使うときの強い味方「phpMyAdmin」。
ブラウザ上のGUIでデータベースをわかりやすく操作できるアレですが、これが使えないケースもあります。

便利なphpMyAdmin

便利なphpMyAdmin

そうすると、データベースを操作するのに、SQLで命令を書いていく必要が出てきます。
当初は震え上がっていたのですが、これが意外と簡単で、次第に震えもおさまりました。

また、PHPからmySQLを操作するのにもSQL文は必要なので、やっぱり覚えておく必要があります。

今回はよく使うSQL文を、シンプルに紹介いたします。

いがいとかんたん、そしてたのしい。よく使うSQL文

本来ならデータベースを作成するところから始めるのが礼儀ですが、まあデータベースは用意されてるとして、今回はテーブルを作成するところからです。

テーブルの作成【CREATE】

「entries」という名前のテーブルを、こういう内容でつくりますよ、という命令です。

内容は()内の指定です。

カンマ区切りで、作成するカラムを指定します。
上記の例で言うと、id、title、message、dateという4つのカラムが作られます。

カラム名の次にデータ型を指定します。

  • int:整数
  • varchar:可変長文字列
  • text:文字列
  • datetime:日時(YYYY-MM-DD HH:MM:SS)

こんな感じで、他にもたくさんあります。
idのカラムの指定には、データ型の後ろにもいくつか記述がありますが、これはオプションです。

  • NOT NULL:データなし(null)を認めない
  • PRIMARY KEY:主キー。データ重複をせず、ユニーク。これによって各レコードの一意性が保たれる。
  • AUTO_INCREMENT:整数のデータ型に対し設定可能。自動的に連番がふられる。

データの確認【SHOW】

こうすると、entriesテーブルのカラム情報を確認できます。
SHOWを使って、他にもいろんなことが確認できます。

データの取得【SELECT】

こうすると、entriesテーブルの全データを取得できます。

*(アスタリスク)を使わず、例えば

とすると、idとtitleカラムのデータのみ取得できます。

条件をつける【WHERE】

例えば、idが20のものだけ取得したいとき、WHEREを使って条件付けができます。

複数をマッチさせるときはINを使います。

ANDやORも使えますし、= 以外の演算子、> とか >= も使えたり、他にもいろんな条件付けができるのでたのしいです。

データの更新【UPDATE】

こうすると「entriesテーブルの、idが33のカラムにおいて、titleを’ファンキーなSQL講座’に更新せよ」という命令になります。

カラムの追加、削除【ALTER】

こうすると「entriesテーブルの、titleカラムの後に、usernameというカラムを、データ型varchar(255)で追加せよ」という命令になります。


おつかれさまでした。
SQL文は他にもたくさんありますが、基本的には直感的に理解できる構文になっているかと思います。

データベースが操作できると、たのしくて、黒縁メガネをかけたくなります。
それでは愉快なSQLライフを!

あなたのビジネスのWeb戦略を、ぜひキタックにおまかせください。

効果を出すためのサイト運営、集客できるウェブ広告

ブログの更新情報をお知らせしています。