タナトーーク

ウェブデザインやPHPやイラストについて書いてます

Mysql を勉強するならコレ

Mysqlを一から勉強するための教材おすすめ

Mysqlを勉強しています。
超初心者なので本当に1からです。

非常に良い本があったので紹介します。
Amazonでもかなり高い評価を得ています。

・基礎からのMySQL(改丁版)

あと、ドットインストールというお勉強サイト
MySQLの授業の動画を見てお勉強ができます。

MySQL入門 (全19回) - プログラミングならドットインストール

1動画が3分なので、内容は薄いかもしれませんが
取っ付き易いですね。それがウリのサイトなのでしょう。
無理やり3分以内に収めている感がいなめないです。
ちょっと、早口じゃね?

自分用のポケリファとして、まとめ

MySQLモニタ起動 &ビープ音を消す設定
mysql -u root -p --no-beep;
MySQLの終了
mysql exit;
ユーザーを作成する
CREATE USER tanaka@localhost IDENTIFIED BY '1234';
CREATE USER 新規ユーザー名 IDENTIFIED BY '新規パスワード'

ユーザーは「ユーザー名@ホスト名」と記述する

ユーザー権限を設定する
GRANT ALL ON db1.* TO tanaka@localhost;
GRANT 与える権限 ON データベース名.テーブル名 TO ユーザー名; 
データベースの作成
CREATE DATABASE データベース名;
データベースの一覧を表示する
SHOW DATABASES;
使用するデータベースを指定する
USE データベース名
現在使用しているデータベースを表示する
SELECT DATABESE();
テーブルを作成する
CREATE TABLE テーブル名(
id int not null auto_increment primary key,
name varchar(255),
email varchar(255) unique,
password char(32),
score double,
sex enum('male','female') default 'male',
memo text,
created datetime,
key score(score)

)

入力必須 not null
デフォルト値 default '値'
自動連番 auto_increment

牽引(インデックス)
主キー primary key
キー key()
ユニークキー unique
テーブルの一覧を表示する
SHOW TABLES;
他のデータベースのテーブルにアクセスできるようにする
SELECT * FROM db2.TABLE;
SELECT * FROM データベース名.テーブル名;
テーブルの構造を表示する
DESC テーブル名;
テーブルをコピーする
CREATE TABLE tb1A SELECT * FROM tb1;
CREATE TABLE 新テーブル名 SELECT * FROM コピー元テーブル名;
データを挿入する
INSERT INTO tb1 VALUES('田中','A101','38');
INSERT INTO テーブル名 VALUES('データ1','データ2','データ3');

INSERT INTO tb1 (namae,bang,age) VALUES('田中','A101','38');
INSERT INTO tb1 (namae,bang,age) VALUES('田中','A101','38'),('山田','A102','35'),('佐藤','A103','41');
データを表示する
SELECT bang,namae FROM tb1;
すべてのレコードを表示する
SELECT * FROM tb1;
カラムのデータ型を変更する
ALTER TABLE tb1 MODIFY bang INT;
ALTER TABLE テーブル名 MODIFY カラム名 データ型;
カラムを追加する
ALTER TABLE tb1 ADD barthday DATE;
ALTER TABLE テーブル名 ADD カラム名 データ型;

ALTER TABLE tb1 ADD barthday DATE FIRST;
ALTER TABLE tb1 ADD barthday DATE AFTER bang;
カラム位置を変更する
ALTER TABLE tb1 MODIFY barthday DATE FIRST;
カラムの名前とデータ型を変更する
ALTER TABLE tb1 CHANGE barthday umare DATETIME;
ALTER TABLE テーブル名 CHANGE 変更前カラム名 変更後カラム名 変更後データ型;
カラムを削除する
ALTER TABLE tb1 DROP barthday;
ALTER TABLE テーブル名 DROP カラム名;


勉強が進むたびに追加します。

MAC Mountain Lion Mysqlを使えるようにするまで

即出だと思うのでざっくりですが覚え書き

MAC Mountain Lionのapacheの有効方法

/etc/apache2/httpd.conf

のファイルでphpを使えるように修正を加えます。
ターミナルとvimを使って編集する方法を見かけますが
よくわからないので
直接、ファイルを開けないのかと

Finderのメニューで「移動」→「フォルダへ移動」
もしくは、かっこよく
shift + command + G を押す

/private/etc/ と入力

httpd.conf があるので、バックアップを必ずとってから編集。

#LoadModule php5_module libexec/apache2/libphp5.so

を探して、行頭の#を削除。
終わり。

apacheを起動

MAC Mountain Lionから環境設定でweb共有の設定で
できなくなっているらしい。

なくなく、ターミナルを使うことに
ターミナルを起動します。
windowsでいうコマンドプロンプトですね。たぶん。

sudo apachectl start


と、入力してEnterキーぱん!

ブラウザで http://localhost/ にアクセス、
「It works!」が表示されればapacheは起動できています。

Mysqlのインストール方法

1.Mysqlをインストール
2./usr/local/mysql/bin/mysql -u root -p
 という長ったらしいコマンドを
 mysql -u root -p
 で使えるようにパスを通します。

上記2点を行います。

1.まず、Mysqlをダウンロードします。

http://dev.mysql.com/downloads/mysql/http://dev.mysql.com/downloads/mysql/

上記のページの中央より下あたり
Mac OS X 10.7 (x86, 32-bit), DMG Archive」を選びました。
mac mountain Lion はOS 10.8ですが
上記で問題なく動作しました。

※サイトに会員登録を促されます
会員登録しました。ちょと面倒ですが登録しないとDLできません。

ダウンロードしたファイルをクリック

f:id:tanaka-zombie:20140108235254p:plain

mysql-5.6.15-osx10.7-x86.pkg をクリック。
 インストーラーに従ってインストールしてください。

■MySQLStartupItem.pkgをクリック。
 インストーラーに従ってインストールしてください。

MySQL.prefPaneをクリック。
 環境設定のところに、MySQLというアイコンができます。
f:id:tanaka-zombie:20140109000428p:plain
このアイコンクリックしてMySQLの起動や停止ができます。

2./usr/local/mysql/bin/mysql -u root -p
 という長ったらしいコマンドを
 mysql -u root -p
 で使えるようにパスを通します。

こちらはターミナルからファイル操作を行います。
これが不慣れで、苦労しました。

ターミナルを起動して

vi ~/.bash_profile

と打ちます。
./bash_profileファイルを開き、無い場合は新規作成となります。
export PATH=$PATH:/usr/local/mysql/bin
と入力して
「:wq!」コマンドで保存
※コマンドが打てない場合は「ESC」を押すと
 編集モードが切り替わるようです。

こちらのサイトを参考にしました。

PHPの設定

shift + command + G を押す

/private/etc/ と入力

php.ini.default をphp.iniにリネーム

基本的に上記でOK

phpinfo.phpを作成して
内容は

<?php 
   phpinfo();
?>

http://localhost/phpinfo.phpにアクセス
PHPの情報が表示されればPHPが動作しています。

おしまい。

今時のランディングページ?

名刺管理アプリEightというサイトみたいな

ランディングページを作って欲しいという
要望がきまして、

jQueryのプラグインの組み合わせでなんとか実現できました。その覚え書き。

具体的にどういう作りかと申しますと

1.ヘッダ部分が大きいイメージで、ウィンドウ大きさに合わせて

 自動でイメージが伸縮する。(背景画像)

2.縦長LPページで、見たいメニューボタンをクリックすると

 アンカーで上下に、ゆっくりスクロールする。

3.ログイン画面はモーダルで表示。(lightboxみたいな感じ)

 ログイン画面にはページ遷移しない。

4.ページ読み込み時は、フッターにあったナビゲーションボタンが

 スクロールすると、ヘッダーに固定。

文章にすると分かりづらいので Eightさんを見てください。

※ちなみに、EightさんのjQueryは難読化するためか、速度のためか
 圧縮されていて、どういう作りかわかりずらくしていました。
 Eightさん、いけずです。(大阪弁)

 

さて、実現したjqueryを紹介します。(覚え書き)

続きを読む

PHPのクラスの勉強にはこれ!

wordpressやEC-CUBEをカスタマイズできるくらいのPHPのスキルはあるんですが、

コアな部分になると、クラスが出てきてとたんに手が出せないレベル。

急にソースを追えなくなります。

そう言った、デザイナは多いんじゃないでしょうか?

 

ずっと、それを何とかしたいと思っていたのですが

とっても良い物を見つけました。

 

Candy caneの安藤さんという方が、お作りになられてた

授業の動画とスライドです。

 

クラスの最初の勉強にぴったりだと思います。

これから、これを使って勉強していきたいと思います。

 

PHPクラスの教室(クラス)

http://blog.candycane.jp/archives/1361