おしまい日記

さようなら

MySQL入門しました

というわけで、研究に利用するデータを整理するため、MySQLを利用することに決めました。

理由は、jsonで固めたままデータ使うのに飽きたからです。

 

以下の詳しすぎるサイトを斜め読み

MySQLクイック・リファレンス

 

以下にざっと基本的な使い方をメモ

  1.データベースにアクセス(MySQLの起動)
   > mysql -u root -p
            > パスワード入力

  2.テーブルの作成

            mysql> create table book

            ->(

            -> id int(11),

            -> title varchar(64),

            -> detail text,

            -> published date

            -> );

            Query OK, 0 rows affected (0.03 sec)

 

  3.テーブル構造の閲覧

            mysql> desc book;

 

  4.データの閲覧

            mysql> select * from book

 

            直接カラムを指定する場合は

            mysql> select id from book;

 

  5.テーブルへのデータの挿入

            mysql> insert into book (id, title, detail, published) values (1234, 'hogehoge', '超ヤバい', '2013-10-01') 

 

その他、カラムのTypeとPythonを利用したMySQLDBへのアクセス方法のリンク

MySQLのデータ型 - MySQLの使い方

MySQL - Python入門から応用までの学習サイト

 

*PS

  DBにダンプしたいテキストに'や"が入っている時の対処方法、誰か教えて下さい。

  例) /* 面倒くさいテキスト */ text = 'X'masケーキ(^q^)'

 

*追記

 SELECTにおけるパターンマッチについて

MySQL :: MySQL 4.1 リファレンスマニュアル :: 3.3.4.7 パターンマッチ

 

 例) SELECT * FROM db_name WHERE col(テーブルの要素) LIKE "パターン";

 

 COUNTを利用した行のカウント

MySQL :: MySQL 5.1 リファレンスマニュアル (オンラインヘルプ) :: 1.3.4.8 行のカウント

 

 例) SELECT user, COUNT(*) FROM recipe WHERE name LIKE "%ケーキ%" GROUP BY user; ~ ユーザの料理レシピのうち、キーワード"ケーキ"を含む料理レシピをカウント

 これは、便利!

 

 日付を指定してSELECT

日付を指定してデータをSELECTするMySQL|プログラムメモ

 

 例)SELECT * FROM recipe WHERE date_col > '2014-01-01';

  ~ 2014年元旦以降のデータを取得

 

 基礎的な統計量の計算

カウント・合計・平均・最大値・最小値(GROUP BY節で使う関数)|MySQL内部関数|MySQL|PHP & JavaScript Room

 

 例)select *, avg(c.co) from ( select from_user, count(*) as co from tsukurepos group by from_user ) as c;

  ~ つくれぽを送った料理レシピ数の平均値

 

 MySQLエイリアスの使い方とかは、ここからつまんだ

匂臭さん MySQLの件数(COUNT)の最大値とか

 

 まだまだ、SQLに入門したてなので、もっと便利な使い方を知っていきたい。