DBとは?
大量の情報をデータとして保存し、パソコンを使ってアクセスや管理することのできる集まりをデータベース
データベースに名前、住所、電話番号、家族構成などを登録、保存し、いつでも簡単に欲しいデータを取り出せることができます。これらは管理者しか閲覧することができないので、誰でも見れることはできません。
データベースマネジメントシステム(Database management System)・・・DBを管理するコンピューターシステム
代表的なものは...
- Oracle Database
- SQL Server
- PostgreSQL
- MySQL
などが、あります。
DBの仕組み
クライアント(パソコン)からSQLというオリジナルの文の※要求を打ち込んで、サーバに送ります
※ここでの要求とは、「このデータが欲しい」「このデータを書き換えて欲しい」とかになります
サーバに送られたSQL文をDBで読み取り、上書き、管理してサーバに送り返します
SQLで送った要求をデータとして、帰ってくる仕組みです
テーブル
簡単に言えば、DB=フォルダ、テーブル=ファイルと、いう感覚です
DBの中にテーブルと呼ばれる表を複数管理する
赤枠・・・列(カラム)
青枠・・・行(レコード)
黄枠・・・セル
1つのセルの中には、1つのデータしか入れれません
SQL
Structured Query Language…データベースを操作するための言語、文です
- いくつかのキーワードと、テーブル名などを組み合わせた文
- 文の最後はセミコロン(;)で終わる
- 大文字・小文字のルールは特にない
- 文字列はシングクォーテーション('')で囲む・数値だけの場合は囲まない
- 単語の間は半角スペースを開ける
実践
実際に見た方が早いですね!(*'▽'*)
ここでは、DB,SQL,MySQLをまとめて操作できるツールを使用します
MacではMAMP、WinではXAMPPという、便利なツールがあります
※筆者はMacユーザーなのでMAMP使用
テーブル作成
MAMPからwebsiteに飛んでphpMyAdminのリンクを開くと左図の画面になります
languageを日本語に設定
サーバはMySQLになっていますね
流れを把握するために簡単に説明します!
データベースのタブをクリックするとこの画面に切り替わります
DBの作成です 名前は任意で決め、「utf8_general_ci」(日本語設定みたいなもの( ̄Д ̄)ノ)→作成ボタン
先ほど作成したDBができたので、次はテーブル名とカラム数を入力します
ここの名前も好きなように決め、カラム数もとりあえずの数値を入力します→実行
この画面に切り替わります
例えば、名前にID、データ型にINTと名前にname、データ型にTEXTと入力します
INT・・・整数のみの代入
TEXT・・・文字を自由に代入
主なデータ型
- INTEGER…(インテージャー)整数(数値)のみ代入 少数は入れれません
- CHAR…(キャラ)文字型 CHAR(30)などとすると30の文字列まで入力することができます
- VARCHRA…(バーキャラ)可変長文字列型
CHARは固定長文字列です
例えばCHAR(5)と指定し、文字をaaのに文字代入したとします
後の3文字は半角スペースができた状態で保管されます
VARCHRA(5)として、aaと代入します
残りの3文字のスペース分はカウントされずに2文字として保管してくれます
このようにテーブルが作成されました
データの追加
挿入のタブをクリック
この画面に切り替わるので、それぞれIDとnameに適当に入力→実行をすると...
IDに番号が振られnameに名前が振り分けられています
SQLでテーブル作成
SQLのタブをクリック
CREATE TABLE テーブル名 (ID INT, name TEXT);
この命令文で作成します ()の中は任意です
DB作成
CREATE DATABASE テーブル名;
SQLのタブをクリック
SELECT * FROM テーブル名;
と、打ってみると...
この画面に切り替わります
SELECT * FROM テーブル名
- SELECT…選択、持ってくる
- *…全て
- FROM…どこから
任意のテーブルから全て持ってくる
と、いうSQLの命令文になっています
表示のタブをクリックしても同じように処理され、SQL文も同じに表示されます
データの追加
INSERT INTO テーブル名 (列名1、列名2、列名3) VALUES (値1、値2、値3)
このようなテーブルがあったとします
- INSERT INTO…データ挿入
INSERT INTO テーブル名 SET ID=1,name=aaa,price=100; INSERT INTO テーブル名 SET ID=2,name=bbb,price=200;
などと、打ってデータを入れます
データの変更
UPDATE テーブル名 SET 列名1=値1、列名2=値2 (WHERE ...);
UPDATE テーブル名 SET price=150;
と、打つとpriceが全部変わります
選んだものだけ変えたい時
UPDATE テーブル名 SET price=200 WHERE id=2;
『WHERE id=2』と、指定してあげることによって選択したものだけを変更することができます
その他のSQL
テーブルの削除
DROP TABLE テーブル名;
DELETE FROM テーブル名;
列の追加
ALTER TABLE <テーブル名> ADD COLUMN <列の定義> 例 ALTER TABLE test ADD COLUMN id INT;
列の削除
ALTER TABLE <テーブル名> DROP COLUMN <列名>
まとめ
主なSQLをいくつか紹介しましたが、どれも正解であって、どれも不正解の文なのです
どういうことかというと、最初に説明したDBMSによって多少SQLの書き方が変わっています
勉強する教材によって使用するDBMSも変わるので、SQLも多少違いがあります
日本でも各地に方言があるように、書き方も違っています
なるべく『標準SQL』と呼ばれるSQL文を覚えていって方がどこにでも応用できていいと思います