2012年2月28日火曜日

2012年02月27日 講義020日目

2012年02月27日
講義020日目
------------------------------1H------------------------------
★職業能力基礎
  ●チームミーティング
    ・アイスブレイク
        会話をしやすいように場の雰囲気を和ませる
    ・先週に自己分析した自分のあいまいなベクトルを材料にする
    ・進行役は議論が軌道に沿うようにする
        時間配分を考える
------------------------------2H------------------------------
★Mysql基礎
  ●演算子についての注意
    ・=の扱いがPHPと違い==ではないので注意
    ・sql文では AND OR プログラムでは &&,||
  ●ルートとユーザ
    ・mysql> SELECT host,user FROM mysql.user;
        登録されてるユーザを閲覧するコマンド
    ・mysql> USE study;
        でデータベースstudyにログイン
    ・mysql> GRANT ALL ON *.* TO xxxxxx@"localhost"IDENTIFIED BY "xxxxxx";
        ユーザとパスワードの設定
    ・mysql> FLUSH PRIVILEGES;
        データベースの権限テーブルから権限を再読み込みする
    ・mysql> SELECT host,user FROM mysql.user;
        +-----------+---------+
        | host      | user    |
        +-----------+---------+
        | 127.0.0.1 | root    |
        | localhost |         |
        | localhost | xxxxx   |
        | localhost | pma     |
        | localhost | root    |
        | localhost | teacher |
        +-----------+---------+
       
    ・mysql> exit;
        ログアウト
    ・mis> mysql -u ユーザー名 -p
        Enter password: ******
        ログイン
    ・mysql> USE study;
        Database changed
        データベース選択
    ・mysql> SELECT * FROM member;
        +----+----------+------+
        | id | username | age  |
        +----+----------+------+
        |  1 | yamada   |   20 |
        | 10 | aaaaa    |    5 |
        |  3 | sato     |   11 |
        | 24 |          | 1111 |
        | 56 | iii      |  111 |
        | 78 | ppppp    | NULL |
        | 79 | eeee     |   33 |
        | 80 | eooooo   |   34 |
        | 81 | eoooff   |   36 |
        +----+----------+------+
        テーブルの内容を確認
    ・mysql> INSERT INTO member(username,age) value ("fffff",99) ;
        データの入力
------------------------------3H------------------------------
★先行教室見学
------------------------------4H------------------------------
★MySQL基礎
  ●IN
    ・mysql> SELECT * from member where age in ("20","34");
        +----+----------+------+
        | id | username | age  |
        +----+----------+------+
        |  1 | yamada   |   20 |
        | 80 | eooooo   |   34 |
        +----+----------+------+
      mysql> SELECT * from member where age = "20" or age ="34";
        +----+----------+------+
        | id | username | age  |
        +----+----------+------+
        |  1 | yamada   |   20 |
        | 80 | eooooo   |   34 |
        +----+----------+------+
      上の二つは同じ
  ●関数
    ・mysql> SELECT count(*) from member where age in ("20", "34");
        +----------+
        | count(*) |
        +----------+
        |        2 |
        +----------+
        行の数を出力する関数
        関数はこれ以外にも多数
  ●LIKE
      mysql> select * from member where username like "%e%";
      +----+----------+------+
      | id | username | age  |
      +----+----------+------+
      | 79 | eeee     |   33 |
      | 80 | eooooo   |   34 |
      | 81 | eoooff   |   36 |
      | 83 | eeeeee   |   95 |
      +----+----------+------+
    ・あいまい検索的に使える
  ●WHERE
    ・検索条件
  ●ORDER BY
    並び替え
      ・mysql> select *from member order by age desc;
        +----+----------+------+
        | id | username | age  |
        +----+----------+------+
        | 24 |          | 1111 |
        | 56 | iii      |  111 |
        | 82 | fffff    |   99 |
        | 83 | eeeeee   |   95 |
        | 81 | eoooff   |   36 |
        | 80 | eooooo   |   34 |
        | 79 | eeee     |   33 |
        |  1 | yamada   |   20 |
        |  3 | sato     |   11 |
        | 10 | aaaaa    |    5 |
        | 78 | ppppp    | NULL |
        +----+----------+------+
        desc→降順
      ・mysql> select *from member order by age asc;
        +----+----------+------+
        | id | username | age  |
        +----+----------+------+
        | 78 | ppppp    | NULL |
        | 10 | aaaaa    |    5 |
        |  3 | sato     |   11 |
        |  1 | yamada   |   20 |
        | 79 | eeee     |   33 |
        | 80 | eooooo   |   34 |
        | 81 | eoooff   |   36 |
        | 83 | eeeeee   |   95 |
        | 82 | fffff    |   99 |
        | 56 | iii      |  111 |
        | 24 |          | 1111 |
        +----+----------+------+
        asc→昇順
  ●WHEREとORDER BY
      は別の命令なので、同時に指定できる
    ・mysql> select * from member
          -> where age >20
          -> and username like "%e%"
          -> order by age asc;
      +----+----------+------+
      | id | username | age  |
      +----+----------+------+
      | 79 | eeee     |   33 |
      | 80 | eooooo   |   34 |
      | 81 | eoooff   |   36 |
      | 83 | eeeeee   |   95 |
      +----+----------+------+
      whereの後は検索条件
      order byの後はソートの条件
  ●CONCAT
      mysql> select concat(username,"さんの年齢は",age,"です") from member;
      +--------------------------------------------+
      | concat(username,"さんの年齢は",age,"です") |
      +--------------------------------------------+
      | yamadaさんの年齢は20です                   |
      | aaaaaさんの年齢は5です                     |
      | satoさんの年齢は11です                     |
      | さんの年齢は1111です                       |
      | iiiさんの年齢は111です                     |
      | NULL                                       |
      | eeeeさんの年齢は33です                     |
      | eoooooさんの年齢は34です                   |
      | eoooffさんの年齢は36です                   |
      | fffffさんの年齢は99です                    |
      | eeeeeeさんの年齢は95です                   |
      +--------------------------------------------+
      カラムとカラムの内容を連結して出力できる(編集はされない)
------------------------------5H------------------------------
★MySQL基礎2
  ●練習問題
------------------------------6H------------------------------
★MySQL基礎2
  ●入力したデータのチェック
    ・mysql> select * from bikyu_gurume_table;
      +----+----------------+--------------------+
      | id | prefcture_name | item_name          |
      +----+----------------+--------------------+
      |  1 | hokkaidou      | zangi              |
      |  2 | aomori         | igamenchi          |
      |  3 |                |                    |
      |  4 | iwate          | moriokajyajyamen   |
      |  5 | miyagi         | aburahudon         |
      |  6 | akita          | yokoteyakisoba     |
      |  7 | yamagata       | hiyasira-men       |
      |  8 | hukusima       | kuri-mubokkusu     |
      |  9 | miyagi         | mitudanngo         |
      | 10 | tochigi        | utunomiyagyouza    |
      | 11 | gunma          | yakimannjyuu       |
      | 12 | saitama        | suttate            |
      | 13 | chiba          | takeokara-men      |
      | 14 | tokyo          | monjyayaki         |
      | 15 | kanagawa       | sirokorohorumon    |
      | 16 | niigata        | itarian            |
      | 17 | yamanasi       | yosidaudon         |
      | 18 | nagano         | ro-men             |
      | 19 | toyama         | toyamaoden         |
      | 20 | isikawa        | hantonraisu        |
      | 21 | hukui          | borugarasisu       |
      | 22 | gihu           | tukemonosute-ki    |
      | 23 | sizuoka        | hujinomiyayakisoba |
      | 24 | aichi          | ankakesupagethi    |
      | 25 | mie            | tonteki            |
      | 26 | siga           | saradapan          |
      | 27 | kyoto          | issennyousyoku     |
      | 28 | osaka          | negiyaki           |
      | 29 | hyougo         | sobamesi           |
      | 30 | nara           |                    |
      | 31 | wakayama       | sechiyaki          |
      | 32 | tottori        | akaten             |
      | 33 | okayama        | ebimesi            |
      | 34 | hirosima       | okonomiyaki        |
      | 35 | tokusima       | fissyukatu         |
      | 36 | kagawa         | udon               |
      | 37 | ehime          | jyakokatu          |
      | 38 | hukuoka        | tenmado            |
      | 39 | saga           | sisirianraisu      |
      | 40 | nagasaki       | torukoraisu        |
      | 41 | kumamoto       | taipi-in           |
      | 42 | ooita          | toriten            |
      | 43 | miyazaki       | nikumakionigiri    |
      | 44 | kagosima       | sirokuma           |
      | 45 | okinawa        | takoraisu          |
      +----+----------------+--------------------+

    ・mysql> desc bikyu_gurume_table;
      +----------------+---------+------+-----+---------+----------------+
      | Field          | Type    | Null | Key | Default | Extra          |
      +----------------+---------+------+-----+---------+----------------+
      | id             | int(11) | NO   | PRI | NULL    | auto_increment |
      | prefcture_name | text    | YES  |     | NULL    |                |
      | item_name      | text    | YES  |     | NULL    |                |
      +----------------+---------+------+-----+---------+----------------+
    ・
  ●入力したデータの検索
    ・select文などで
  ●プライマリーキー
    ・主キー
      複数のレコードを登録した際に、絶対に重複しない値が指定されたカラム
    ・UNIQUEキー
      絶対に重複しないキー
      主キーと違い手のテーブルと連動
    ・外部キー
      →こんど説明
      プライマリーキーが指定されてないテーブルはあまりない(あるけど)
  ●CRUD
    ・クラッドと読む
        C  →  create    作成  (create,insert)
        R  →  read      読込  (select)
        U  →  update    更新  (alter,update)
        D  →  delete    削除  (delete,drop)
  ●データベースとテーブルとカラムの関係性
      データベース
          └テーブル
              └カラム
-----------------------------memo------------------------------
スペルミスが多くてなー

0 件のコメント:

コメントを投稿