技術 iPhone  android アプリ開発 物理演算 OpenGLES 3D 自動化 プロジェクト管理 気になる技術、トレンドを書き連ねるところ。

2008年11月8日土曜日

はじめてのmySql

自分一人ではDB、mySqlについてなんにもわからないプログラマが通りますよ。
目的:DBを立ち上げ、アプリ/Webから読み込み、書き出し。要はサーバ構築。

mySqlはこっからダウンロード
http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.51b-osx10.5-x86_64.dmg/from/pick

ここを見てインストール
http://earlybirds.ddo.jp/namahage/inegalog/article.php?id=8

次に、ターミナルからログイン
(マシン):bin (ユーザ)$ /usr/local/mysql/bin/mysql -u root -p
パスワードを入れて、エントリー。
その他のエントリー方として、
/usr/local/mysql/bin/mysql test
なんてのもある。これだと、データベースを名指しでエントリー。そのDB以外には,許可されたものしか見えなくなる。このときはどんなユーザで入ってるんだろう?ちょっとわからん。

DBを作るコマンドは、create database $データベースネーム;
作ったデータベースを見るには、show databases;

セミコロンは必要なのか?→必要でした。反応しないだけじゃなく、それまで連続行として判定される。

grant select,insert,delete,update,create,drop,file,alter,index on *.* to $ユーザ名 identified by '$パス';
ユーザー $ユーザ名を、パスワード $パスで作る。
flush privileges;
内部キャッシュを消去、privilegesは権限オプション

use データベース名;でデータベースをチェンジして使う。

mysql> create table testtable(
-> text1 text,
-> text2 text not null
-> );
テーブルを内容付けて制作。


show fields from testtable;
作ったテーブルを表示する。

insert into testtable (text1,text2) values('name2','value2');
こんな風にテーブルにデータを入れる。

select text1,text2 pref from testtable;
セレクトでフィールドを指定して、もっと限定してみれる。非限定ならば*。
+-------+--------+
| text1 | pref |
+-------+--------+
| name | value |
+-------+--------+
こんな感じ。さらに限定すると、
select text2 pref from testtable;
+--------+
| pref |
+--------+
| value |
+--------+


select * from testtable where text1='検索内容' ;
選択テーブル内で、text1が検索内容と一致するものを表示する。

select text2 from testtable where text1 = '';
text1が空っぽのtext2を表示する。


select count(*) from testtable;
そのテーブルへの登録数を出す。*は別の項目に入れ替え可能、つまり
select count(text2) from testtable where text1 = '';
こんな事をすると、testtable内でtext1が空っぽであるtext2の数を表示できる。


create index testindex on testtable(text1(4));
testindexというインデックスを、testtableのtext1から、それが文字なので4文字という制限付きで作る。

drop

help;でいくつかのコマンド説明が出る。 ここでは割愛

次は、アプリやWebから読み出す仕掛けを作りたいですね。

0 件のコメント:

自己紹介