2010/12/22

MySQL

php講習 12/22

・恒例の朝の清掃は、海岸を歩きました。

・windowsのコマンドプロンプトからmysqlクライアントを使ってコマンドの実行、まずrootユーザでmySQLに接続。
> mysql -u root

・dbの一覧を表示
> show databases;

・dbを作成
> create database study;
作成したdbをdbの一覧で確認。

ユーザ作成
> GRANT ALL ON *.* TO user@"localhost" IDENTIFIED BY "pass";
> flush privileges;

・一度mysqlクライアントを出てから、新しく作ったユーザでログイン
> quit
> mysql -u user -p
Enter password:xxx (パスワード入力)
> status

・先ほど作ったデータベースにテーブルを作成
> use study;
・テーブルがないことを確認
> show tables;

・テーブル作成
> create table member (id int not null auto_increment,
name text,
age int,
primary key (id));

・テーブル作成結果の確認
> show tables;
> desc member;
> show columns from member;

・いままで実行したコマンドの復習
> quit
> mysql -u user -p
> show databases;
> use study;
データベースを指定したあとであれば、テーブルの情報が取得出来る。
> show tables;

・テーブルにデータを作成(挿入)
> insert into member (name, age) values ('user', '33');
> insert into member (name, age) values ('', '');
> insert into member ( age) values ( "" );
* 3件目に作成したレコードで、nameはnullになっています。空の文字列とnullは異なります。

・テーブルのデータ表示
> SELECT name, age FROM member;

・昨日の資料を参照して、dbの基本構造から説明
・sqlは「データ制御言語」「データ操作言語」「データ定義言語」

・練習 ID=1の人のデータを表示
SELECT * FROM member WHERE id=1;
SELECT * FROM member WHERE id=1 or id=2;
SELECT * FROM member WHERE id<=2; SELECT * FROM member WHERE id != 1 ;
SELECT * FROM member WHERE name is null ;
・データの参照方法
> SELECT * FROM member order by name asc;

・データの更新
> update member set age=19 where id=1;
> update member set name="name" where name is null ;
> update member set name="name_aaa" where name = "" ;

・データの削除
> delete from member where id=3;

・テーブルにカラムを追加
> alter table member add address text;

・追加した項目にデータを設定
> update member set address="adr1" where id=1 ;

・練習
(1)create文を作成してみましょう。
> create table address (number int not null auto_increment,
name text,
kana text,
address1 text,
address2 text,
tel text,
primary key (number));

> show columns from address;

(2)各カラムのデータ型を考えて見ましょう。
> alter table address add update_ date;

(3)insertするデータを作成して見ましょう。
insert into address (name, kana,address1,address2,tel,update_) values ('oda', 'odanobunaga',"aichi","nagoya","054-222","2010/12/22");
insert into address (name, kana,address1,address2,tel,update_) values ("小田", 'odanobunaga',"aichi","nagoya","054-222","2010/12/22");
文字コード設定が実施されていないと、日本語は文字化けします。
日本語入力について、コマンドライン上からは文字コードの指定を改めて実施する必要がありそうです。
日本語設定の参考

このなかのコマンドを実行したあとは、日本語が表示されました。
なお、クライアント上の設定なので、mysqlを起動するたびに実行する必要があると思われます。

SET NAMES sjis

・my.iniとかの設定を疑いましたが関係なかった?


明日以降の予定

<今日の続き>
mysqlクライアントの日本語表示がうまくいかないところは調べておきます。
データのアクセスでクライアントから日本語がうまくいかないときは別の方法を検討します。
<資料5>
SQL文をPHPからアクセスする。
<資料6>
インポート/エクスポート
xamppで使えるphpmyadminの説明

0 件のコメント:

コメントを投稿