突っ走り書き

見せるほどのものでは..

MySQL for Ubuntu

インストール

$ sudo apt-get install mysql-server

文字化け対策

やっぱりlinuxの恒例行事は避けて通れないようで,
文字コードを utf8 で統一する.

$ cd /etc/mysql

# 念のためバックアップをとる(ファイル名任意)
$ sudo cp my.cnf my.cnf.org

# my.cnf を編集する
# [mysqld] セクションに以下を追加
#    character-set-server = utf8
#    skip-character-set-client-handshake

# 設定変更を反映するために再起動
$ sudo /etc/init.d/mysql restart

MySQL の起動

$ mysql -u root -p
Enter password:

p オプションに続けてパスワードを指定することもできるが,
セキュリティ的に問題があるので上の方法がおすすめ
(シェルのヒストリ機能によってパスワードが漏洩するかもしれない).

データベースの一覧を表示

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)

データベースの新規作成

mysql> create database newDb;

データベースの削除

mysql> drop database targetDb;

現在選択しているデータベースを調べる

mysql> select database();
+------------+
| database() |
+------------+
| newDb1     |
+------------+
1 row in set (0.00 sec)

テーブルの作成

create batadase コマンドによって,空のデータベースを作成した.
次に,新規に作成したテーブルを追加する.
名前と年齢と身長をレコードとした,人を管理するテーブルの例.

mysql> create table person(name VARCHAR, old INT, height INT);

テーブルの削除

mysql> drop table (target_table_name);

レコードの全削除

テーブルは残したまま,テーブル内のレコードをすべて削除する.

mysql> drop from (target_table_name);

CSV ファイルからデータを読み込む

mysql> load data local infile "(input_file_path)" into table (target_table_name) fields terminated by ",";

オプション

オプション 意味 デフォルト値
fields terminated by 区切り文字 \t(タブ)
lines terminated by 改行文字 \n(改行)
ignore (num) lines 最初に無視する行(ヘッダとか) 0