自分用メモ
以下は全て基礎知識なので随時確認
データベースとは?
コンピューターの世界では膨大な情報を扱っている
保険会社における顧客情報、ユーザー登録、メッセージの投稿
Twitterのフォロワー、Facebookの友達 など
こうした情報はデータとして保存している
それらのデータの集合をデータベースと呼ぶ
データベースにはきちんと保存されているのが
美しいとされる、整理されてリスト化されてるのが良い
「社員テーブル」「部署テーブル」「役職テーブル」
こういったもの何百万件もある
データベースは、アプリケーション側で
データベースが必要な仕様だった場合に、すぐに作成する
「1アプリケーションにつき1データベース」が基本
データベースの中のテーブルは、
必要になる度に新規作成して増やしていく
ブログ用のWebアプリケーションを作成する際に
ブログ記事を保存するテーブルを作成したが、
更に記事に対してコメント出来る機能が必要になると、
その時にコメント用のテーブルをその都度作成する感じ
テーブルを作成する際は
「テーブルでどんなデータを保存するか」を設計する必要がある
テーブル設計は、データをどのような形式で保存するかを決める事
データベースにも色々な種類がある
以下ではリレーショナルデータベース(RDB)を
前提として解説している
※参考:リレーショナルデータベース(RDB)とは?四大命令や主キー外部キーも解説
CRUDが表す意味について
以下の4文字の頭文字、これらの操作はSQLを使用して実行する
・Create:作成、保存
・Read:取得
・Update:更新
・Delete:削除
データベースは、PHPなどのプログラムから
必要なデータ操作(CRUD)を要求され、
それに応えてデータ操作をする
(これがアプリケーションにおけるDBの役割である)
SQLとは?
DBにはSQLという言語が用いられる
プログラミング言語の1つ、データベースとの対話方法
世界規格で統一されている、PHPとSQLは違う
SQLが使われるタイミング
・コマンドライン上で直接入力
・別のプログラム(.php)にとある方法で記述
・sqlという拡張子で保存しておいて読み込み
SQLの基本は以下の通り
SELECT 氏名,年齢 FROM 社員テーブル WHERE 社員ID=2”;
「社員というテーブルにあるID2の名前と年齢を引っ張ってきて下さい」
こういった意味がある
※参考:SQLの構文まとめ
データベースサーバとは?
データベースも、Webサーバと同じく
「サーバとして起動する」ものである
データベースサーバは起動すると「接続待ち状態」になる
ログインするように接続すれば、
データベースに対してSQLを実行出来るようになる
接続の際には「$ mysql -u root」コマンドを使用する
★mysql>について
ターミナルコマンドの先頭は&で表す
MySQLサーバに接続するとターミナルが mysql>で始まるようになる
「mysql>」とある場合は、MySQLサーバに
接続した後にコマンドを入力するのだと考えれば良い
データベースの作成方法
SQL文は最後に;(セミコロン)が必要:
セミコロン(;)無しにEnterを押しても「まだSQLが続く」と認識する
・データベース一覧の確認
「show databases;」
このコマンドで、現在作成されている
全てのDBの一覧を確認する事ができる
・データベースを削除したいとき
「DROP DATABASE bookstore;」
この命令で確認無しに即削除されるので、
実際の現場では管理者の確認無しに行うのは絶対に避ける
・操作するデータベースを選択
「use bookstore;」
DBを作成した後は、今から操作していくDBを選択する必要がある
これはMySQLサーバに接続する度に行う必要がある
★Cloud9でのデータベースの作り方
・開始: $mysql-ctl start
・終了: $sudo service mysqld stop
・MySQLサーバへの接続: $mysql -u root
・MySQLサーバからの切断: $exit
・MySQLの操作モードから抜け出す: \q


Cloud9で学ぶ!MySQLを使ってデータベースを動かす方法 | プログラミング教室情報...
前記事では、ユーザに入力させたデータをWeb上に表示させる機能まで作成しました。 次はデータベースに保存する機能を作成したいところなのですが、データベースの基本的な部分を知っておいた方がスムーズに進みます。いったんPHPは脇に置き、データベースについて簡...
この記事へのコメントはありません。