データベースの事前準備

★MySQLコマンドライン起動
  mysql -u username -p
  その後パスワード入力

★MySQLコマンドライン終了
  mysql> exit

★ステータスの表示
  mysql> status

★MySQLの中にあるデータベースの確認
  mysql> show databases;

★データベースの利用
  mysql> use databasename;

★データベースの中にあるテーブルの確認
  mysql> show tables;

★テーブルの中にあるcolumn(カラム:フィールド)の構造の確認
  mysql> show columns from tablename;

★テーブルの中にあるデータの確認
  mysql> select * from tablename;

★ ユーザ管理:MySQLのrootユーザ(管理者)は「rootユーザのパスワード変更」「ユーザの参照追加削除変更」「ユーザ権限の参照追加削除変更」「ユーザのパスワード変更」「データベースの参照追加削除変更」「テーブルの参照追加削除変更」「データの参照追加削除変更」などなど、MySQL上のありとあらゆるすべての権限をもつ。
だからこそ、プログラム上でむやみにテーブル操作などをroot権限で行ってしまうと、誤ってデータベースを削除してしまったり、SQLインジェクションでMySQL自体を乗っ取られてしまう危険性があるので、その時必要な最低限の権限を与えたユーザを作成し、データベース操作をするようにしなければならない。
http://dev.mysql.com/doc/refman/4.1/ja/user-account-management.html
★ユーザ権限:ユーザの権限は「グローバルレベル」「データベースレベル」「テーブルレベル」「カラムレベル」の4つのレベルがある。
権限の詳細に関しては、http://dev.mysql.com/doc/refman/4.1/ja/grant.html

★データベースの利用手順例
  1、rootユーザにて、GRANT構文の実行権限をもつユーザ1を作成(以後基本的にはrootユーザは利用せず、ユーザ管理者としてユーザ作成はユーザ1を利用)
  2、ユーザ1にて、GRANT構文の実行権限がなくデータベース作成権限をもつユーザ2を作成(以後データベース管理者としてデータベース作成はユーザ2を利用)
  3、ユーザ2にて、データベース1を作成(ユーザ2を作らず、ユーザ1で対応しても良い)
  4、ユーザ1にて、データベース1のみに限定で、すべてのテーブル操作の実行権限をもつユーザ3を作成
  5、ユーザ3にて、必要なテーブル群を作成し、必要なデータを追加/削除/変更
  6、ユーザ1にて、当該データベース/テーブル/カラムへのデータ参照追加削除変更権限のみを与えたユーザ4を作成
  7、ユーザ1にて、当該データベース/テーブル/カラムへのデータ参照追加変更権限のみを与えたユーザ5を作成
  8、ユーザ1にて、当該データベース/テーブル/カラムのデータ参照権限のみを与えたユーザ6を作成
  9、Webサイトでの利用をし、サイト訪問者としてユーザ6の権限でデータを参照(例えば掲示板のROM)
  10、サイト登録者としてユーザ5の権限でデータ追加/変更(例えば掲示板の書き込みや自分の書き込みの訂正)
  11、サイト管理者としてユーザ4の権限でデータ削除(例えば掲示板の書き込み削除)

★ユーザの作成
  GRANT構文の実行権限をもつユーザ例
  mysql> GRANT ALL PRIVILEGES ON *.* TO username@localhost IDENTIFIED BY 'password' WITH GRANT OPTION;
  mysql> FLUSH PRIVILEGES;
  ※FLUSH PRIVILEGESはユーザ定義情報の変更を現データベースにて反映させる命令

  特定の実行権現をもつユーザ例
  mysql> GRANT CREATE,DROP,ALTER,SELECT,INSERT,UPDATE,DELETE ON *.* TO username@localhost IDENTIFIED BY 'password';
  mysql> FLUSH PRIVILEGES;
  ※特定の権限については以下の通り
    CREATE:データベース/テーブル作成
    DROP:データベース/テーブル削除
    ALTER:データベース/テーブル変更
    SELECT:データの抽出(参照)
    INSERT:データの追加
    UPDATE:データの変更(更新)
    DELETE:データの削除

★ユーザの削除
  ユーザの削除はDROPだが、DROPで削除できるユーザは権限のないユーザに限定されるため、REVOKEで権現を削除してからユーザ削除することになる
  1.SHOW PRIVILEGES を使用してユーザの権限を確認する。
  2.REVOKE を使用してユーザから権限をすべて削除する。
  3.DROP USER を使用してユーザを削除する。

★データベースの作成手順
  1、データベースの作成
  2、データベースに(複数の)テーブルを作成
  3、テーブルに(複数の)フィールドを作成
  4、各フィールドにデータを格納

★データベースの作成
  mysql> create database databasename;

★データベースの削除
  mysql> drop database batabasename;

★データベースの利用(上記にも記載)
  mysql> use databasename;

★データベースの中にあるテーブルの確認(上記にも記載)
  mysql> show tables;

★テーブルの作成
  mysql> create table tablename(列名1 データ型1,列名2 データ型2,・・・);

  mysql> create table t1(
        -> code char(5) not null primary key,
        -> name varchar(30),
        -> post int
        -> );
  セミコロンまでが1ステートメントなので、改行は自由にできる。もちろん1行で書いても良い。

★テーブルの確認
  mysql> describe tablename;

★テーブルの削除
  mysql> drop table tablename;

★CSVファイルからのデータの取り込み
  ローカルファイルからデータをインポートするユーザとして「--local-infile」オプションをつけてログインする
  mysql -u username -p --local-infile

  filename.csvファイルの中身
    e0981,浅岡寛,4450123
    e0982,伊藤隆,4450102
    e0983,宇野博之,4450116
    e0984,江崎克也,4450111
    e0985,小原清,4450102
    e0986,加古満,4450109
    e0987,木村一郎,4450121
    e0988,久世真一,4450109
    e0989,剣先明,4450102
    e9890,小坂井達也,4450116

  LOAD DATA LOCAL INFILE "pathname/filename.csv" INTO TABLE tablename FIELDS TERMINATED BY "," LINES TERMINATED BY "\n";

★テーブルの中にあるデータの確認(上記にも記載)
  mysql> select * from databasename;

★これ以降のINSERT,SELECT,DELETEなどは国家試験に準ずるので、色々と試してみましょう!