まるもの勉強日記。

実はSE目指してます。

MySQL (2)

 

MySQLは、MySQLの中にデータベースを作ってその中にテーブルを作ってテーブルの中にデータがあるって感じ。

f:id:marumom16:20170722110044p:plain

↑イメージ図作ってみた。

 


データベース作成には、まずMySQLでサーバに接続する。
MySQL Command Line Clientを開く。

 

そして作成する前に、どういったデータベースがあるのか確認する。

show databases;

 

データベースを作成するには、

create database データベース名;

⇒「Query OK」で成功。

 

データベースを作成したら、次にデータベースに接続する。
⇒接続以降に行われる操作のときに、データベースが省略された場合にデフォルトで使用されるデータベースを設定するということ。

use データベース名;

「Detabase changed」と表示されたら接続成功。

 

次に、テーブルを作成する。

f:id:marumom16:20170722110103p:plain

↑この部分!

create table テーブル名 (
フィールド名 データ型,
フィールド名 データ型,
フィールド名 データ型
);

フィールド名にはIDとかカテゴリー名とか。

数値や文字列などは種類に応じてデータ型を指定する。

データ型 説明
INT 数値
CHAR 文字データ(文字数)
VARCHAR 文字データ(バイト数)
DATE 日付
DATE TAME 時刻

などなどなど…

 

 

ちなみにテーブル作成時にこれ役に立ったからメモ。

id int auto-increment primary key

=レコード追加ごとにIDというフィールドを基準として毎回数字を増やしていく。

 

 

テーブル一覧を見るには、

show tables;

 

テーブルの中身のフィールドを確認するには、

desc テーブル名;

 

テーブルを削除するには、

drop table テーブル名;

 

テーブルにレコード(データ)追加するには、

insert into テーブル名(フィールド名) values(値);

フィールド名や値は順に書く。

 

レコード(データ)確認するには、

select フィールド名 from テーブル名 (=値 where 抽出条件);

()内省略可能。

 

レコード(データ)更新するには、

update テーブル名 set フィールド名='変更内容' where 抽出条件;

 

レコード(データ)削除するには、

delete from テーブル名 where 抽出条件;

 

最後に、MySQLコマンド終了は、[exit]や[quit]で行う。


<参考にしたもの>

MySQLでデータベースを作成する方法【CREATE DATABASE文】

MySQLでデータベースに接続する方法【初心者向け】

MySQLでテーブルを削除する方法【DROP TABLE文】

MySQLでINSERT INTOを使ってレコードを追加する方法【初心者向け】

MySQL

MySQLは、世界でもっとも利用されている「データベース管理システム」のこと。
しかも、オープンソースなのです。低コスト!

MySQLは、小さいアプリケーションから巨大なアプリケーションまですべてに対応できるほどの拡張性をもっている。
また、LinuxMacWindowsなどを問わず動作する。

 


MySQLのダウンロード(Windows環境)

MySQLサイトへ。

・上の[ダウンロード]をクリック。

・一番下にあるMySQL Community Edition (GPL)の[Community (GPL) Downloads »]をクリック。

・一番上の[MySQL Community Server]をクリック。

・次のようなページがあるので、

f:id:marumom16:20170721115117p:plain

↑の下にある青い[Go to Download Page >]をクリック。

MySQLインストーラには、上のWeb経由でダウンロードしながらインストールするインストーラと下のインターネットが繋がっていなくてもインストールできるインストーラがある。ここでは、Web経由でインストールするので上の[Download]をクリック。

・「Oracle Web account」のログインを促される。
ログインしなくても(アカウントを持っていなくても)インストーラをダウンロードできるので、その場合は下の方の[No thanks, just start my download.]をクリック。

 


MySQLのインストール(Windows環境)

・ダウンロードしたインストーラを実行。

・ライセンスの確認をして[Next]

・セットアップタイプの選択。

・インストールするものを選択する画面が表示される。

・必要なものを選択してから緑色の右矢印をクリック。右側に追加されていく。

MySQLをインストールするディレクトリとデータを設置するディレクトリのパスを設定する画面が表示される。終わったら[Next]をクリック。

・問題が無ければ[Execute]をクリック。インストールが開始される。

・インストールしたMySQLの初期設定を行う。[Next]をクリック。

コンフィギュレーションタイプとMySQLとの通信に関する設定画面が表示される。

・rootアカウントのパスワードの設定とユーザー追加の為の画面が表示される。rootアカウントのパスワードを設定をする。設定が終わったら[Next]をクリックする。

MySQLWindowsのサービスとして動かすかどうかの設定画面が表示される。

・最終確認画面で、問題がなければ[Execute]をクリック。

[Finish]で初期設定完了。

 


今回は必要最低限におさめました。

全てをアウトプットすればいいわけじゃないな~て思って。

にしても分かりずらいやね(笑)

まだまだ(笑)


<参考にしたもの>

【超初心者向け】MySQLとは?どこよりもわかりやすく解説

MySQLのダウンロードとインストール - Windows環境

MySQLインストール

PHP : フォーム処理

 

HTMLで構成されたフォームからデータを送信し、PHPプログラムで受信する。
HTMLフォームを処理する手段は、PHPの最も強力な機能のひとつ。

ちなみに、フォームと所定の形式をもった書式、入力欄のことね。

 


HTMLフォーム

まずは、HTMLフォームについて簡単に説明。

<form action="PHPプログラム" method="post">
名前: <input type="text" name="name" />
<input type="submit" />
</form>

▽▽▽▽▽▽▽▽▽▽こんな感じのフォーム▽▽▽▽▽▽▽▽▽▽

f:id:marumom16:20170630125119p:plain

これで簡単なフォーム完成。

 

作成方法はhtmlのファイルを作成し、上記のHTMLを書くだけ。

form タグを使用すると入力フォームを表示できる。

<form action="〇〇〇.php" method="post"></form>

action...データの送信先
method...データの送信方法

フォームでのデータの送信方法(PHPにおけるデータの受信方法)は二通り。
GETリクエスト…データがURLで引き渡される
POSTリクエスト…データがURLで引き渡されない

 

<input type="text" name="sample" />

input タグの type に text を指定すると、一行入力項目を表示する事ができる。
name で指定したキーワードを基に、PHPでデータを受け取る。

 

<input type="submit" />

input タグの type に submit を指定すると、データ送信ボタンを表示する
value で指定するとその語句がボタンに表示される

 


PHPでのデータ受信

PHPでは、フォームから送信されたデータは自動的に特別な連想配列に格納される。

ブラウザからPOSTメソッドで送信されたデータは、$_POSTという連想配列に格納される。

GETメソッドで送信されたデータは、$_GETという連想配列に格納される。

POST形式、GET形式のどちらも使用する場合には$_REQUESTが便利。POST形式のデータもGET形式のデータも両方格納される。

※$_REQUESTを使用した場合、せっかくPOST形式で送信しているデータをGET形式でURLから送信できる事になってしまい、セキュリティ的にあまりお勧めできないらしい。

送信されたデータを表示させる際、HTMLが反映されないようにしなければならない。

 

<,>,$," などをブラウザで文字列として表示させるには、 htmlspecialchars 関数を使用する。

htmlspecialchars($_POST["name"])

続けて ENT_QUOTES を入力すると ' (シングルクォート)も変換される。

この処理は、送信されたデータを表示させるときには必ず行うこと。
そのままにすると、HTML、JavaScriptをそのまま解釈してしまうので。

 

改行が含まれる文字列を表示させるには、 nl2br 関数を使用する。

nl2br($_POST["name"])

これで、文字列中の改行文字が
に変換されて返されるようになる。

 

PHPによっては ',",\ など自動的にエスケープすることがある。

それをなくすのは、 stripslashes 関数。

逆にエスケープするには addlashes 関数。

 


〈参考にしたもの〉

フォームからの入力 PHP Labo

フォームの処理

フォームとのやり取り そふぃのPHP入門

PHPでフォームからデータを受け取る方法(GETとPOST)

PHP : ファイルの入出力

PHPはデータ保存の際、データベースがよく利用されている。
が、テキストファイルにもデータを書き込むことができる。

ファイルを扱う命令はいくつかある。

 

まずは、 fopen 関数。
fopen 関数はファイルを新規作成したり開くことができる。
引数に「開きたいファイル」と「モード」を指定できる。

fopen("開きたいファイル"orパス,"モード");

〈主なモード一覧〉

モード 説明
r 読み込みのみ
r+ 読み込み/書き出し
w 書き出しのみ
w+ 読み込み/書き出し
a 書き出しのみ(追記)
a+ 読み込み/書き込み(追記)

また、開いたファイルは fclose 関数で閉じる。

$fp=fopen("開きたいファイル"orパス,"モード");
fclose($fp);

ファイルの読み込み

モードに r を指定すると読み込みモードになる。

引数に指定したファイルから1行読み込むことができる fgets 関数もここで紹介。

<?php

$fp=fopen("開きたいファイル","r");
while ($line = fgets($fp)) {
echo "$line<br />";
}
fclose($fp);

?>

これで開きたいファイルの内容が改行区切りですべて表示される。

 

ちなみに、ここででてきた while 文は繰り返し処理を行うもの。

while (条件式){
実行する処理1;
実行する処理2;
}

while 文は指定した条件式が真(true)の間は繰り返す。

(どこかでまた詳しくやるかも?)

ファイルへの書き込み

モードに w を指定すると書き込みモードになる。

書き込みモードでは、 fwrite 関数でファイルの内容を書き換えることができる。

<?php

$fp = fopen("開きたいファイル", "w");
fwrite($fp, "ファイルへの書き込み内容");
fclose($fp);

?>

開きたいファイルの内容が「ファイルへの書き込み内容」になる。
開きたいファイルには、書き込み権限を与えておくこと!

ファイルへの追記

モードに a を指定すると追記モードになる。

追記モードでは、 fwrite 関数でファイルの内容に追記できる。

<?php

$fp=fopen("開きたいファイル","a");
fwrite($fp,"ファイルの追記内容");
fclose($fp);

?>

追記モードは。プログラムが実行されるたびにファイルの末尾に追記が行われる。


 

ファイルを扱う方法の中にはもっと簡単にできるものがある。

<?php

echo file_get_contents("開きたいファイル");

?>

⇒「開きたいファイル」の内容が表示される。
各行末に改行タグを付加して順に表示することができない。

<?php

file_put_contents("開きたいファイル", "ファイルへの書き込み内容");

?>

⇒「開きたいファイル」に「ファイルの書き込み内容」が書き込まれる。
内容全体を書き換えてしまうのでファイルの末尾にデータを追記することはできない。

 


〈参考にしたもの〉

PHPでのファイル書き込みとパーミッションエラー解決法

PHP Labo ファイル入出力

PHP:文字列出力

PHPで文字列を出力するには、

echo
print

がある。

 

実際に書いてみると、

<?php
echo "Hello!";
?>

という感じ。

echoは、複数の文字列を続けて出力する場合にはカンマ(,)で区切って文字列を指定する。

echoは関数ではなくPHPの言語構造の1つらしい。
引数を括弧で括る必要はないけど、ただ関数のように括弧で括って記述することも可能。

 

ややこしいわ。

 

printもechoと同じく関数ではなくPHPの言語構造の1つ。
ただprintは、echoとは異なり複数の引数を指定できない。

FFFTPに関して

 

FFFTPフリーソフトで人気の高いFTP専用のファイル転送ソフト。

今回、FFFTPを使用することになったのでダウンロード方法などメモします。

メモと言っても、参考にしたURLを貼り付けるだけだけど(笑)

 

▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽

FFFTPのダウンロード・インストール方法

FFFTP の使い方

△△△△△△△△△△△△△△△△△△△△△△△

 

以上。

PHP基礎

 

PHPは、Web作成のために用いられることの多いプログラミング言語の1種。
Web開発に適している、オープンソースの汎用スクリプト言語
動的にHTMLデータを生成することによって動的なウェブページを実現。

HTMLはHyper Text Markup Language(ハイパーテキストマークアップ・ランゲージ)の略で、Webページを作るための最も基本的なマークアップ言語のひとつ。
ほとんどのWebページがHTMLCSSという言語で見た目が作られる。
WebページのほとんどがHTMLで作られている。

 


PHP記述方法

・開始タグと終了タグ

PHPスクリプト部分は

<? ~ ?>
<?php ~ ?>

どちらかで囲む。

最もシンプルなのが上のほう。
XMLXHTMLPHPを埋め込む場合は、下のほうを使用することが標準規格で決められてる。

<?php
print("Hello World!");
?>

print...関数 = 命令
("Hell World!)...引数、()で囲む = 関数に渡す情報
;(セミコロン)...きまりごと

関数が処理して戻り値という情報を返す。

とまぁ、こんな感じ。

・文の記述

PHPスクリプトは文で構成されている。
代入、関数呼び出し、条件文、空の文が使用できる。

命令文の最後のセミコロン(;)は任意。
複数の命令文はセミコロン(;)で区切る。

・コメントの記述

コメントアウトしたい部分は1行なら先頭に//をつける。
複数行なら/* ~ */ で囲む。


文字コード

文字コードは、コンピュータ上で文字を利用するために各文字に割り当てられるコードのこと。

いろんな種類の文字コードがある。

・ASCII
・JISコード
シフトJISコード
Unicode
EUC
UTF-8

などなどなど、、、

文字化けする理由に文字コードがある。
HTMLファイル自体の文字コードとブラウザが解釈した文字コードが異なるとき文字化けは起きる。

文字化け発生時にはファイルの文字コードを確認すること。
エディタによってデフォルトの文字コードは異なる点に注意。

 

_____

 

Linuxが落ち着いたところで、PHPの勉強を主流に始めていくことにしました。

なんかあっちこっち飛び回っている気がしないでもないけど、、(笑)

 

というかひとつ言いたい。LPICを取得するのに、まずお金をためないといけないという壁にぶちあたりました。あぁぁぁ。