2011年2月13日日曜日

SQLiteのフィールド型定義順

SQLiteで引っかかったことのメモです。

■INTEGERなどの型宣言(厳密な型宣言にはなりませんが)は、フィールド名の後に。

たとえば、
CREATE TABLE tbl (id INTEGER PRIMARY KEY,field_name,edit_date);
といったような。

変数名と型を宣言するノリで、INTEGER id という順番の指定をしてしまい、フィールド名が「INTEGER」になってしまってました。。。orz

2011年2月8日火曜日

sqliteをコマンドラインで。(手軽で楽しいすね)

sqlite3をコマンドラインでいじると,とても楽しいことを知りました。

これまでコマンドラインは若干ハードルを覚えていましたが、
思いの外気軽なもので、実験するにはもってこいだな、と。

特にSQLiteが気軽に使うにはもってこいですね。

DB学習の最初には、SQLiteは楽しめていいかな、と思いました。
(型が厳密でないことも、最初はおいておいて、単に操作言語だけ覚えるにはもってこいで。insert ,select,updateなど)

自分は最近Macを使い始めたので、よりコマンドラインが身近になりました。

**************************

macだと、terminalを開いて、
「sqlite3」と入力するだけで起動してくれます。(「sqlite」ではなく「sqlite3」とする必要がありました。sqliteだけだとエラーが出る。2と3が同じSQLiteでも違うからですね)

単にsqlite3ではなく、
データベース名も一緒に「sqlite3 sample.db」みたいに入力すれば、
そのDBファイルがあればそのファイルが開かれ、
なければ作られてしまう(!)という手軽さ。
これがいいですね。

それで
create table hoge(a,b);
とすれば、これだけでテーブルも作れてしまう。。
型も設定せず。。。
手軽すぎますね。

このテーブルに
insert into hoge values(100,200);
なんてすれば、これまた値も追加でき、
select * from hoge;
なんてすれば
「100|200」なんて表示もしてくれます。

SQLite3は、コマンドラインで遊んで、一通り値の追加や削除、選択方法などを覚えてしまうと、
SQL言語が初めての人でも楽しく学べそうです。

ありがたや。。

これがパブリックドメインで無料でどうとでも使え、
かつ、ファイルをコピーすればバックアップもとれ、
いろいろな用途やプラットフォームで使えるのだから、ありがたいものです。

**************************

以下、ご参考までですが、
自分が一番SQLite関連で気に入った本です。

「持ち運びやすい。」
「網羅的である。」
「基礎からわかるよう,平易に書かれている。」
そんな点で気に入りました。
電車でも気軽に読めます。

2011年1月25日火曜日

instanceof

instanceof は、特定のクラスであるかどうかを判別する「型演算子」とのこと。
なるほど。


http://php.net/manual/ja/language.operators.type.php

2011年1月24日月曜日

PHPの手軽さに感謝。

最近、iPhoneアプリの開発を始めました。
以前は、C言語とか難しそうで、手が出ないと思っていました。
(iPhoneはCを拡張したObjective-Cですが)

最近、PHPでコーディングのイロハを覚えていたので、
iPhoneアプリの本などを見ても、以前よりは取っつきやすく、
なんとか理解が進んできましたので、ありがたいものです。

自分のような本格的な言語を知らない人間がまず、簡単なPHPを習得しておくと、
もっと仕様のしっかりした(厳密な)言語を学んでいく際に、
ループ文の書き方や、変数や配列の基礎的な使い方が理解できているので助けになることに、
ありがたみを覚えています。

最初からコンパイラを通す世界で、もっと厳密だったら、
もう少し取っつきにくかったかも。。

そんなわけで、PHPさん、ありがとう。

仕様書の必要性。

これまで、仕様書を書かずにコーディングしてきました。
が、やはり必要だ〜!と痛感したので、これから反省して書きます。ハイ。

自分で書いたコードが、複数のファイルにわたると、
グローバルな変数やその他が、どこで定義されていたりするか探すのに苦労しました。。
まだまだコーディング入門者ですね。。
お恥ずかしい。

ちなみに英語では、specificationsというのですね。仕様書。

SQLite関数、使おうかな、と。

これまで、PDO関数を使ってSQLiteのコードを書いてきましたが、
普通のPHPにおけるSQLite関数を使う方が、コーディングが若干楽、と思い使うことにしました。(セキュリティ上はPDOの方が確実かな。。自分が購入したSQLite本が、PDO関数の記述だけだったので、PDOを覚えたのですが、bindとか若干面倒で。。)

で、
http://www.phpbook.jp/tutorial/sqlite/
に説明を書いてくださっていたので、メモメモ。